使用RewriteRule更改网址不会替换网址并重定向我的网页

时间:2013-06-21 19:30:36

标签: php apache .htaccess url mod-rewrite

我正在尝试使用以下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]

感谢您的任何意见!

2 个答案:

答案 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的请求。