【问题标题】:URL rewriting with PHP .htaccess使用 PHP .htaccess 重写 URL
【发布时间】:2014-01-27 04:22:04
【问题描述】:

所以基本上我在我的 php 网站上得到了这个看起来像这样的 URL,我没有访问 httpd.conf 或者我不知道如何使用它我只想用 .htaccess 来做这个:

http://www.example.com/full.php?id=57

我将如何将该 URL 转换为

http://www.example.com/full/57

我已经尝试过 .htaccess

RewriteEngine on
RewriteRule ^/full/([0-9]+)$ /full.php?id=$1

请为我提供一个完整的工作代码,以便在 .htaccess 中使用

【问题讨论】:

    标签: php .htaccess mod-rewrite web


    【解决方案1】:

    试试这个:

    Options -MultiViews
    
    RewriteEngine on
    RewriteBase /
    
    RewriteCond %{ENV:REDIRECT_END} !^1$
    RewriteCond %{QUERY_STRING} ^id=(.+)$
    RewriteRule ^([A-Za-z_-]+)\.php$ $1/%1? [R=301,L]
    
    RewriteCond %{ENV:REDIRECT_END} !^1$
    RewriteRule ^([A-Za-z_-]+)\.php$ $1 [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([A-Za-z_-]+)/(.+)$ $1.php?id=$2 [E=END:1,L]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([A-Za-z_-]+)$ $1.php [E=END:1,L]
    

    【讨论】:

    • 删除您的 htaccess 中的内容并仅放入我的代码。此外,“不工作”也不清楚。发生了什么?
    • 请提供更多细节!什么不工作?您尝试访问哪个网址?结果是什么(404错误,...)?
    • 好的,这里是 url (eparyatan.com/full.php?id=57) 重写不工作
    • 我的代码确实有效...请参阅:eparyatan.com/full/57 您还必须在您的页面中添加 <base href="http://eparyatan.com/" /> <head> html 标记以修复 css、图像和 js 众所周知的问题
    • 如果存在 smthng mod rewrite 启用/禁用问题,这里是 phpinfo() 页面? eparyatan.com/phpinfo.php
    【解决方案2】:
    RewriteRule ^(.*)/(.*)$ /$1.php?id=$2 [L]
    

    这会将 /foo/bar/ 重写为 /foo.php?id=bar

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-05
      • 2022-01-08
      • 2012-04-29
      • 2012-08-25
      • 2012-06-10
      • 1970-01-01
      相关资源
      最近更新 更多