不会抱怨mod_rewrite,但正则表达式让我看到了侧面。
好我如何为此做mod_rewrite:
http://domain.com/version1/pg/[VAR]/
为:
http://domain.com/version1/page.php?page=[VAR]
我整天都在圈子里。
答案 0 :(得分:1)
这应该有效:
RewriteEngine On
RewriteRule ^version1/pg/([^/]*)$ /version1/page.php?page=$1 [L]
基本上,它会将version1/pg/[VAR]
重定向到/version1/page.php?page=[VAR]
。
我希望这会有所帮助。
答案 1 :(得分:1)
这应该有效:
RewriteEngine On
RewriteRule ^version1/pg/([^/]*)$ /version1/page.php?page=$1 [QSA,L]
告诉我这是否有效。
请尝试使用RewriteLog
指令:它可以帮助您找出此类问题:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
我最喜欢检查regexp的工具:
http://www.quanetic.com/Regex(别忘了选择ereg(POSIX)而不是preg(PCRE)!)
我可以请你在你的问题中添加重写吗?
答案 2 :(得分:0)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^pg/([^/]*)$ page.php?page=$1 [QSA,L]
RewriteRule ^pg/([^/]*)/$ page.php?page=$1 [QSA,L]
</IfModule>
因此,如果网址为: mywebsite.com/version1/pg/sample /
或
<强> mywebsite.com/version1/pg/sample 强>
它会将URL重写为:
<强> mywebsite.com/version1/page.php?page=sample 强>