1

我正在尝试使用以下 mod_rewrite 代码将我的网站的 url 更改为不同的,但似乎它正在重定向并且我希望页面加载我的目标 url。

假设我要加载网址:www.AAAAAA.com/store/index.php?categ=cars 但在网址栏中我想显示以下内容: www.AAAAAA.com/store/cars

我的代码是这样的(但由于它重定向并且无法正确重写而无法正常工作):

RewriteEngine On
RewriteRule ^store/(.*)$ store/index.php?categ=$1 [L]

感谢您的任何意见!

4

2 回答 2

1

试试这个代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(store)/index\.php\?categ=([^\s]+) [NC]
RewriteRule ^ /%1/%2? [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-f    
RewriteRule ^store/(.+?)/?$ /store/index.php?categ=$1 [L,QSA,NC]

确认它工作正常后,替换R=302R=301. R=301在测试你的 mod_rewrite 规则时避免使用(永久重定向)。

于 2013-06-21T19:39:51.817 回答
0

尝试这个:

Options -Multiviews
RewriteEngine on
RewriteRule ^(store/images|store/css|store/js)($|/) - [L]
RewriteBase /store/
RewriteRule ^store/(.*)$  index.php?categ=$1 [QSA,L]

您可以使用第 3 行从重写中排除任何目录,例如,您不希望请求domain.com/store/images/logo.jpg被重写。

于 2013-06-21T21:24:26.660 回答