【发布时间】:2014-10-08 16:25:07
【问题描述】:
我想用一些RewriteRules 来改造:
http://example.com/blah =>
index.php?id=blahhttp://example.com/someone/blah =>
index.php?id=blah&user=someone
这里是htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?id=$1 [L]
RewriteRule ^(.*)/(.*)$ /index.php?id=$2&user=$1 [L]
</IfModule>
但似乎最后两条规则不兼容:有了这个htaccess,我得到了一些500 Internal Server Error。
如何创建两个规则以使它们不会“重叠”?
注意事项:
这两条规则中的每一条都单独起作用
当我使用第二条规则时,http://example.com/someone/blah =>
index.php?id=blah&user=someone有效,但似乎根文件夹不再是/但/someone/然后 CSS 不是找到...如何防止在这种情况下更改基本文件夹?
【问题讨论】:
标签: apache .htaccess mod-rewrite