针对重写规则的单个目录

时间:2013-09-30 02:33:25

标签: .htaccess mod-rewrite

我已编辑此问题以使用实际网址。我需要网址

http://westernmininghistory.com/mine_db/main.php?page=mine_detail&dep_id=10257227

一样重写
http://westernmininghistory.com/mine_detail/10257227/

我试过了

RewriteRule ^([^/]*)/([^/]*)/$ /mine_db/main.php?page=$1&dep_id=$2 [L]

哪个适用于此页面,但会破坏网站上的所有其他页面。我想知道是否有办法强制重写只对mine_db目录中的文件进行操作。我曾尝试过RewriteCond但没有成功:

#RewriteCond %{REQUEST_URI} ^/mine_db

我真的不知道它们的正确语法。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的第一条规则可以缩短并编写而无需RewriteCond。此外,您似乎想要在test_db之后捕获2个变量。

您可以尝试使用此规则:

RewriteRule ^(mine_detail)/([0-9]+)/?$ /mine_db/main.php?page=$1&dep_id=$2 [QSA,L,NC]

哪个适用于/mine_detail/12345之类的URI(尾部斜杠是可选的)。另请注意,上述重写将在无需更改浏览器中的URLi的情况下以静默方式(内部)进行。如果您想在浏览器中更改URL,请使用R标志,如下所示:

RewriteRule ^(mine_detail)/([0-9]+)/?$ /mine_db/main.php?page=$1&dep_id=$2 [QSA,L,NC,R]