对于我的站点,我有一个RewriteRule,它将URL http://www.mysite.com/work指向work.php文件。我还有一个名为"work“的目录,其中有一些文件,比如project1.php、project2.php等等.
为了让URL http://www.mysite.com/work知道转到work.php文件,但是URL http://www.mysite.com/work/project1知道我要进入目录"work“并显示project1.php文件,我需要编写哪些规则?
编辑:应该指出,这是我目前正在处理的:
RewriteEngine On
RewriteBase /beta/
RewriteRule ^([a-z]+)$ $1.php [L]有什么额外的建议来提高这种安全性吗?(停止目录跳转等)
发布于 2009-08-06 08:13:30
试试这个:
RewriteEngin On
RewriteBase /
RewriteRule ^work$ /work.php [QSA,L]这将确保http://www.mysite.com/work (没有尾随斜杠)将进入您的work.php文件。
如果还希望http://www.mysite.com/work/ (带有尾随斜杠)转到work.php,请将这一行添加到上一个RewriteRule的上方。
RewriteRule ^work/$ /work [R=301,QSA,L]这将将它重定向到URL,因此没有尾随斜杠,从而显示work.php文件。
UPDATE:,因为您已经有了RewriteBase指令,所以只需将RewriteRule行放在RewriteBase之后,而在RewriteRule之前作为规则,您将使用catch,并匹配所有内容。
发布于 2013-12-03 19:46:45
这就是你问题的答案。对我来说很管用。
RewriteEngine On
RewriteBase /
RewriteRule ^([a-z]+)$ $1.php [L]只需删除beta/
发布于 2009-08-06 08:14:17
试试这条规则:
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php [L]https://stackoverflow.com/questions/1237531
复制相似问题