mod_rewrite - 重写目录以查询字符串,除了/#!/

时间:2014-09-16 17:25:58

标签: php apache .htaccess mod-rewrite

我正在尝试重写www.domain.com/something/some/ www.domain.com/index.php?q=something/some /

这是我到目前为止所做的:

RewriteCond %{REQUEST_FILENAME} ([a-z-]+)/?$
RewriteRule (.*) index.php?q=$1 [QSA,L]

但我想排除这些网址: www.domain.com /#!/什么

你能帮忙吗?

谢谢, 约翰

1 个答案:

答案 0 :(得分:2)

您可以在root .htaccess中使用此规则:

RewriteEngine On

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

.+的使用也会照顾/#!/something,因为在/无法访问网络服务器之后,Apache只会将#作为文本提供{/ 1}}。