我在过去一小时内尝试了很多东西,没有任何作用。 我有一个名为example.com的网站 我有这段代码:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+).html$ index.php?p=$1&i=$2 [N]
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?p=$1
当我继续使用example / forums / discussion-f3.html时,它可以运行。 当我尝试/forums/introductions-f2.html时,它会将我重定向到/index.php/?p=forums&i=introductions-f2。此外,http://craftshaft.org/forums/将我发送到http://craftshaft.org/index.php/?p=forums但是当我没有斜线并将其从代码中删除时,它可以正常工作,但我需要在结尾处使用斜杠,因此它看起来像一个文件夹。
基本上,我希望能够查看以下网址:
答案 0 :(得分:2)
将此代码放在root .htaccess
中:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^ - [L]
RewriteRule ^([\w-]+)(\.html)/?$ index.php?p=$1 [L,NC,QSA]
RewriteRule ^([\w-]+)/([\w-]+)\.html$ index.php?p=$1&i=$2 [L,NC,QSA]