mod-rewrite 2参数和包含路径

时间:2016-08-03 13:26:41

标签: php .htaccess mod-rewrite

我有2个参数cat和page_id

今天我的网址是:http://foo.com/cat=3&page_id=1

可以将其翻译为http://foo.com/category/page_id吗?

我在 .htaccess

中试过这个
RewriteEngine on
RewriteRule ^([\S-]+)/([\S-]+)/?$   ?cat=$1&page=$2 [L]

当我浏览http://foo.com/category/page_id时,我的CSS-link(css / style.css)计为category和page_id,因此不会加载。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您必须在RewriteRule:

之前使用此代码添加文件或目录等异常
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

这将排除请求现有文件或目录时的所有情况。

所以你的最终.htaccess文件应如下所示:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\S-]+)/([\S-]+)/?$   ?cat=$1&page=$2 [L]