我有以下重写规则。我没有写它所以我不确定我应该改变什么。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
RewriteCond /%{REQUEST_FILENAME}.php -f
RewriteRule ^([a-zA-Z0-9_-\s]+)/$ /$1.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ /%1 [R=301,L]
我知道问题在于这一行
RewriteRule ^([a-zA-Z0-9_-\s]+)/$ /$1.php
当我删除那个部分时一切正常,但我认为编码器出于某种原因包含它,那么它有什么问题呢?
我在子域中运行此脚本。
我没有更新以下
的行RewriteRule ^([a-zA-Z0-9\s_-]+)/$ /$1.php
不确定是否可以这样做。我发现它必须与(-)
做一些事情,它必须在最后。
感谢
答案 0 :(得分:0)
我试过了你的
RewriteRule ^([a-zA-Z0-9_-\s]+)/$ /$1.php
并根据代码检查它,它在重写规则检查器上看起来没问题。尝试添加[L]
。您可能需要定义它。