为什么我的htaccess规则不会重写网址

时间:2011-08-25 03:07:24

标签: .htaccess mod-rewrite url-rewriting

好的,我在我的opencart应用程序中有这个url并且运行良好

http://site.com/index.php?route=information/contact

但客户讨厌网址并希望

http://site.com/contact

我想我可以在我的htaccess中做到这一点,一切都会很好但是访问网址我什么也得不到

RewriteRule ^(contact)$ index.php?route=information/contact  [L,QSA]

任何想法

这是我的htacess

RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

RewriteRule ^contact$ /index.php?route=information/contact  [L,QSA]

4 个答案:

答案 0 :(得分:5)

删除括号

RewriteRule ^contact$ index.php?route=information/contact  [L,QSA]

你的.htaccess应该是这样的:

RewriteEngine On
RewriteBase / 
RewriteRule ^contact$ /index.php?route=information/contact  [L,QSA]
RewriteCond %{REQUEST_URI} !^/contact$
RewriteRule ^([^?]*) index.php?route=$1 [L,QSA]

答案 1 :(得分:2)

是否启用了mod_rewrite?此外,您可能需要添加

RewriteEngine on

在你的RewriteRules之前

答案 2 :(得分:2)

[OpenCart] Enable URL Rewriting for SEO

  1. 登录管理控制面板
  2. 选择管理员>配置>设置>服务器
  3. 选择“SEO URL”选项为是。
  4. 你已经完成了。

答案 3 :(得分:1)

尝试在index.php之前添加/。

RewriteRule ^contact$ /index.php?route=information/contact  [L,QSA]