【发布时间】:2012-08-26 13:31:52
【问题描述】:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteCond %{HTTPS}s/%1 ^(on(s)|offs)/(.+)
RewriteRule ^ http%2://%3%{REQUEST_URI}/site1 [L,R=301]
RewriteRule ^/site1/catalogue/(\w+)/([0-9]+)$ catalogue.php?category=$1&product_id=$2 [QSA,L]
我遇到了一些 mod_rewrites 的问题。我正在尝试完成三件事:
1) 删除 www。来自网址
2) 删除 .php 扩展名
3) 有涉及 $_GET 变量的干净 url(查询字符串?)
例如,我想要这个网址:
http://www.domain.com/site1/catalogue.php?category=kitchen&product_id=2
变成了这样:
【问题讨论】:
-
那么有什么问题吗?这个htaccess文件在哪里?在
site1目录或您的文档根目录中? -
你遇到了什么问题
-
@Jon Lin - 抱歉,不够具体。是的,我的 .htaccess 文件位于 site1 文件夹/目录中。输入清理后的 url 似乎没有正确重定向我。我得到404。我假设问题是我对查询字符串的最后一个重写规则。
-
在文件中运行
phpinfo();并确保启用了 mod_rewrite.so 扩展。 -
@cilosis - 是的,我确实事先运行了 phpinfo() 并且启用了 mod_rewrite 模块。所以我有点困惑到底发生了什么。 :p 我已经问过我的网络托管服务提供商是否也启用了 mod_rewrite,他们向我保证是的。
标签: php .htaccess mod-rewrite