多个RewriteRule不能用于我的.htaccess文件。
为了直截了当,我将这行代码放入我的.htaccess文件
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ ./index.php?lang=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/$ ./profile.php?page=$1 [L]
问题是当我在我的域中添加一个参数时,让我们假设www.eaxmple.com/something,我总是登陆主页。我想要做的是当我在结尾设置带斜杠的参数转到profile.php并且没有斜线移动到index.php。即使我试图输入一个参数,我总是移动到索引页面。
有人可以帮助我吗?
答案 0 :(得分:2)
.*
会匹配所有内容,包括尾随/
。
按此顺序尝试规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L][
RewriteRule ^(.+)/$ profile.php?page=$1 [L,QSA]
RewriteRule ^(.*)$ index.php?lang=$1 [L,QSA]