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变量的干净网址(查询字符串?)
例如,我想要这个网址:
http://www.domain.com/site1/catalogue.php?category=kitchen&product_id=2
变成了这个:
答案 0 :(得分:0)
是的,我的.htaccess文件位于site1文件夹/目录中。输入清理的URL似乎没有正确地重定向我。我得到了404s。我假设问题是我对查询字符串的最后一次重写规则。
将最后一条规则更改为:
RewriteRule ^catalogue/(\w+)/([0-9]+)$ catalogue.php?category=$1&product_id=$2 [QSA,L]
从正则表达式匹配中删除/site1/
。也可以在RewriteEngine On
:
RewriteBase /site1/