代码之家  ›  专栏  ›  技术社区  ›  Sebastian

带有PHP菜单的干净/漂亮URL

  •  0
  • Sebastian  · 技术社区  · 6 年前

    我正在为我的网站使用PHP菜单。每个菜单项最多只有一个子页面,例如mypage。com/services,再也没有子页面,例如mypage。com/services/blub。

    指数php:

    <?php require_once("navigation.php"); ?>
    ...
    <?php include('sites/'.$_GET['p'] . '.php'); ?>
    

    航行php

    <ul class="nav navbar-nav">
        <li>
            <a href="?p=home">Home</a>
        </li>
        <li>
            <a href="?p=services">Services</a>
        </li>
        ...
    </ul>
    

    现在我想实现漂亮/干净的URL。目前我的URL如下所示:

    https://www.example.com/?p=services

    我想要这个:

    https://www.example.com/services

    我在htaccess中写了以下内容,但我的页面看起来一片空白:

    RewriteEngine On
    RewriteCond %{QUERY_STRING} (.*)
    RewriteRule ^(.*) index.php?url=$1&query=%1 [B,L]
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Rohit.007    6 年前

    这是你的。htaccess文件

    #turn on url rewriting 
    RewriteEngine on
    
    #remove the need for .php extention 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}\.php -f 
    RewriteRule ^(.*)$ $1.php
    

    这允许您访问。php文件没有扩展名,所以你的链接应该是

    href="/somepage"
    

    这将直接导致

    href="/somepage.php"