【问题标题】:Problem changing URL structure with Htaccess and php使用 Htaccess 和 php 更改 URL 结构的问题
【发布时间】:2011-02-09 07:42:29
【问题描述】:

我在修复我的网站上的 URL http://www.abelputra.com 时遇到问题:我想将 www.abelputra.com/software.php 更改为 www.abelputra.com/software

我已经阅读了一个建议如下的教程:

对于.htaccess:

RewriteEngine On
RewriteRule ^ ([a-zA-Z0-9_-] +) $ index.php? Key = $ 1
RewriteRule ^ ([a-zA-Z0-9_-]+)/$ index.php? Key = $ 1

然后在php中:

index.php --->

$Key=$ _GET ['key'];

if ($key == 'home')
{
    include ('index.php'); // Home page
}
else if ($ key == 'software')
{
    include ('software.php'); //
}
else if ($ key == 'webdesign')
{
    include ('webdesign.php'); //
}

问题是当我用software.php和index.php实现菜单调用页面时:

www.abelputra.com/index.php?key=software

显示的页面是两个页面,下面是 software.php 和 index.php 页面。

是因为我在调用“include()”函数吗?

index.php 结构:

  1. 标题

  2. 内容 -> 包含开头词

  3. 页脚

software.php 结构:

  1. 标题

  2. 内容 -> 包含对我的软件的说明

  3. 页脚

【问题讨论】:

    标签: php .htaccess


    【解决方案1】:

    我不知道我理解的对不对,但是如果你只是想重写 URL(比如去掉 .php 扩展名),你不需要实现网关脚本或更改主页的逻辑代码(修改网址除外)。

    作为示例,以下内容将允许您通过以下方式访问您的免费提示 abelputra.com/freetips/185

    RewriteRule ^freetips/(\d+)$ freetips_det.php?tip=$1 [L]
    

    通用扩展删除是一个众所周知的话题,例如在这里讨论:

    htaccess code to remove extension AND add+force trailing slash?

    【讨论】:

    • 我的问题是如何在php中实现
    • 我的解决方案是您不需要这样做,因为您的主页已经在工作,而您只想更改一些 URL
    • 是的,我的网络正在运行。但我看到他们消除了大多数其他网站 .php 并将其变成一个文件夹。根据我的说法,不要省略 php 扩展。我只是不知道如何在我的 php 脚本中实现它。
    【解决方案2】:
    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    
    RewriteBase /
    
    ## hide .php extension
    
    # To externally redirect /dir/foo.php to /dir/foo
    
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
    
    RewriteRule ^ %1 [R,L,NC]
    
    ## To internally redirect /dir/foo to /dir/foo.php
    
    RewriteCond %{REQUEST_FILENAME}.php -f
    
    RewriteRule ^ %{REQUEST_URI}.php [L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      相关资源
      最近更新 更多