0

我在 stackoverflow 上找到了几个关于 mod_rewrite 的主题,但没有一个能解决我的问题。我还尝试了这个网站上的教程http://edrackham.com/apache/beginners-mod_rewrite-tutorial/ 我一直在尝试使用 mod_rewrite 来获取干净的 url。例如:

  www.myweb.com/itemdetail.php?itemid=111234

  www.myweb.com/itemdetail/111234 or 
  www.myweb.com/itemdetail/iphone

这是我的 .htaccess 文件内容。

   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-d 
   RewriteCond %{REQUEST_FILENAME} !-f 
   RewriteCond %(REQUEST_FILENAME) !-l
   RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

正如stackoverflow中所建议的,我在上面的文件中添加了以下重写

   RewriteRule ^itemdetail/([0-9]+)/$ itemdetail.php?itemid=$1 [NC,L]  

但这并没有解决我的问题。任何建议表示赞赏。

4

2 回答 2

0

在某些服务器上,您不能在 RewriteRule 中使用斜杠(我有同样的问题)。要检查这一点,请尝试以下作为您的 htaccess 文件:


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

编辑: 当然你的永久链接是 www.myweb.com/itemdetail-111234

于 2012-09-07T09:04:40.433 回答
0

您应该使最后一个斜杠可选:

RewriteRule ^itemdetail/([0-9]+)/?$ itemdetail.php?itemid=$1 [NC,L]
于 2012-09-06T16:07:14.880 回答