我的htaccess代码有问题。我工作了几天但无法解决它。
网站帖子网址:/index.php?a=post&m=37
我想要的是什么:/post/37
我的htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?a=page&b=$1 [L]
RewriteRule ^(.*)$ /index.php?a=post&m=$1 [L]
这是有效的:RewriteRule ^(.*)$ /index.php?a=page&b=$1 [L]
但是当我这样说:RewriteRule ^(.*)$ /index.php?a=post&m=$1 [L]
我在网站的所有页面都收到“内部服务器错误”。解决方案是什么? :|
答案 0 :(得分:0)
相同模式(.*)
无法路由到2个不同的目标。
你可能意味着这个:
RewriteEngine on
# skip all files and directories from rewrite rules below
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^post/(\d+)/?$ /index.php?a=post&m=$1 [L,QSA]
RewriteRule ^(.*)$ index.php?a=page&b=$1 [L,QSA]