我正在尝试使用以下mod_rewrite代码将我的网站的网址更改为另一个网址,但似乎它是重定向的,我希望该网页加载我的目标网址。
说我要加载网址: www.AAAAAA.com/store/index.php?categ=cars 但在URL栏中我想显示以下内容: 的 www.AAAAAA.com/store/cars
我的代码是这样的(但由于重定向并且没有正确重写,因此无法正常工作):
RewriteEngine On
RewriteRule ^store/(.*)$ store/index.php?categ=$1 [L]
感谢您的任何意见!
答案 0 :(得分: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=302
替换为R=301
。在测试mod_rewrite规则时,请避免使用R=301
(永久重定向)。
答案 1 :(得分: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
的请求。