坚持使用mod_rewrite

时间:2012-03-04 05:46:13

标签: .htaccess mod-rewrite

以下是我的问题的基本解释: 我需要从http://domain.com/file.php?name=xxxx重写 到http://domain.com/xxxx

所以,问题是:我有一些目录,如images,css,include等,文件存储在哪里,而不是重写到http://domain.com/xxxx的目录本身。 这是我的杂乱.htaccess文件:

RewriteEngine On 
RewriteRule ^index.html$         index.php [QSA,L]
RewriteRule ^help.html$          help.php [QSA,L]
RewriteRule ^([^/]+)\.xml$       info.php?id=$1 [QSA,L]
RewriteRule ^(\w+)$              file.php?name=$1 [L]

任何想法如何修复,并允许我在该目录中存储的文件继续工作?

2 个答案:

答案 0 :(得分:1)

这是一个重写规则,如果该文件实际上不存在于该位置,它将把所有请求重定向到页面处理程序:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ path/to/pagehandler.php?page=$1 [QSA]

答案 1 :(得分:0)

您既可以在文件中设置标记,也可以知道相对位置,也可以使用完整路径。