我在.htaccess
编写规则方面经验不足。
我的网站网址就像
http://exampletest.com/detail.php?i=my-url
我想将该网址重写为
http://exampletest.com/my-url
到目前为止我尝试了什么:
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} /detail\.php\?i=([^\s&][A-Za-z0-9-]+) [NC]
RewriteRule ^ detail %1? [R=302,L]
这使我能够使用以下方式访问我的网站:
http://exampletest.com/detail/my-url
但我也想从网址中省略detail
。
答案 0 :(得分:3)
您应该在内部重定向,因此您的代码应如下所示:
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} /detail\.php\?i=([^\s&][A-Za-z0-9-]+) [NC]
RewriteRule ^ %1? [R=302,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /detail.php?i=$1 [L]
答案 1 :(得分:1)
试试这个:
RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} /detail\.php\?i=([^\s&][A-Za-z0-9-]+) [NC]
RewriteRule ^ %1? [R=302,L]