简单的Mod-Rewrite规则 - 单个规则 - 文件存在

时间:2011-08-16 07:06:04

标签: php .htaccess mod-rewrite

我有一个非常简单的mod重写规则

Options FollowSymLinks 
RewriteEngine On
RewriteRule ^hosted/essws/([^/]*)/$ /hosted/essws/?key=$1 [L]

即使文件或目录存在,我也希望这次重写能够激活。

例如: 网址:

http://localhost/hosted/essws/candy-sweets-buffet/

将加载:

http://localhost/hosted/essws/index.php?key=candy-sweets-buffet

即使目录/ hosted / essws / candy-sweets-buffet /存在。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

Options FollowSymLinks 
RewriteEngine On
RewriteRule ^hosted/essws/([^/]*)/$ /hosted/essws/?key=$1 [L]

看! rewriteRule并不关心目录是否存在!它会重写URL!
你的问题很简单,其他人太多了!不要把/放在重写论点的开头!

Options FollowSymLinks 
RewriteEngine On
RewriteRule ^hosted/essws/([^/]*)/$ hosted/essws/?key=$1 [L]

答案 1 :(得分:0)

我努力做了一段时间:

RewriteEngine On
RewriteRule ^catalog/([0-9]+)/?$ catalog.php?id=$1 [NC,L]

就我而言,catalog.php作为文件存在。通过删除MultiViews,现有文件不再是rewriterules的问题。

Options -MultiViews
RewriteEngine On
RewriteRule ^catalog/([0-9]+)/?$ catalog.php?id=$1 [NC,L]

完成!