htaccess适用于斜线和无斜线

时间:2013-06-09 08:05:14

标签: .htaccess mod-rewrite get

我有一个网站,比如:example.com,并且它上面有博客,所以它就像是这样的例子,例如:example.com/?page=blog&slug=this-is-a-blog

我正在使用htaccess将其从那里更改为example.com/blog/this-is-a-blog,但它似乎无法正常工作。但是,如果我去,它会工作:example.com/blog/this-is-a-blog/(注意斜杠)。

如果可能的话,我希望它能兼顾两种方式。我的htaccess代码,老实说我不知道​​我在做什么,所以这可能是完全错误的,如下所示:

Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/$ /?slug=$1&blog=$2 [L]

我试过了:

RewriteRule ^([^/]*)/([^/]*)/$ /?slug=$1&blog=$2 [L]
RewriteRule ^([^/]*)/([^/]*)$ /?slug=$1&blog=$2 [L]

但是我的页面上的所有链接(css,js,imgages等)都被打破了。

谢谢!

2 个答案:

答案 0 :(得分:1)

必须排除现有文件和目录,如下所示:

Options +FollowSymLinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/? /?slug=$1&blog=$2 [L]

答案 1 :(得分:0)

试试这个:

RewriteRule ^([^/]*)/([^/]*)/?$ /?slug=$1&blog=$2 [L]