我正在使用下面的代码...
#Fix Rewrite
Options -Multiviews
# Mod Rewrite
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)?$ index.php?q=$1 [L]将www.website.com/index.php?q=Keyword转换为www.website.com/Keyword
它能在great....however上工作...
我(在同一目录中)还有一个名为spec.php的文件,它接受eid的GET变量。
我还需要一个规则来将www.website.com/spec.php?eid=00000转换为www.website.com/00000或www.website.com/spec/00000,而不实际将spec.php移动到子目录中。
任何帮助都会非常感谢,我的眼睛被谷歌灼伤了。我发现其中一些做了类似的事情,但当我试图将其与我的情况相匹配时,我遇到了问题。
发布于 2013-03-06 10:02:29
所以这里的这行
RewriteRule ^(.*)?$ index.php?q=$1 [L]都是匹配的,如果你想让website.com/Keyword和website.com/spec/0000都工作,那么你需要添加另一个条件
我想这能行得通
RewriteRule ^/spec/(.+)$ /spec.php?eid=$1 [L]
RewriteRule ^(.*)?$ /index.php?q=$1 [L]这句话是什么来着?
第一部分是一个正则表达式,第二部分是要映射到的URL,最后一部分是标志。在本例中,我们将/spec/条件放在第一位,这样当第二个条件与其他所有条件匹配时,它将首先被命中,然后确保[L]标志被设置为如果当前条件匹配,则通知mod_rewrite停止。
https://stackoverflow.com/questions/15236899
复制相似问题