我正在尝试对域进行一些重写。htaccess 当前设置为考虑正斜杠后的某些内容。例如。mysite.dev/page1/
我希望将其更改为:mysite.dev/page1.html
所以我在原始链接上提出了一个转发,并为 .html 页面设置了新的重写,如下所示:
Redirect 301 /page1/ http://mysite.dev/page1.html
Redirect 301 /page1 http://mysite.dev/page1.html
Redirect 301 /page2/ http://mysite.dev/page2.html
Redirect 301 /page2 http://mysite.dev/page2.html
Redirect 301 /page3/ http://mysite.dev/page3.html
Redirect 301 /page3 http://mysite.dev/page3.html
RewriteRule ^page1.html$ page.php?slug=page1 [L]
RewriteRule ^page2.html$ page.php?slug=page2 [L]
RewriteRule ^page3.html$ page.php?slug=page3 [L]
RewriteRule ^([^/.]+)/?$ page.php?slug=$1 [L]
RewriteRule ^([^/.]+)/([^/.]+)/?$ page.php?slug=$2 [L]
当去 mysite.dev/page1.html 它工作正常。但是当放置 mysite.dev/page1/ 时,它会重写为 mysite.dev/page1.html?slug=page1。所以它似乎继续遵循其余的规则。
关于解决此问题的任何帮助/建议?
谢谢。