我和我的htaccess文件有冲突。
我使用以下代码删除php句柄:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [NC,L]
除了一个子目录外,一切运行良好。当移除php句柄时,事实证明,“handle-less”名称与现有文件夹共享相同的名称,因此,正在显示该文件夹的目录,而不是预期的php页面。我宁愿避免更改文件夹名称,特别是如果这是可以从htaccess文件中解决的问题。
(在编码方面,我相当初学者......所以我不确定如何最好地解决这个问题。)
任何帮助表示赞赏。谢谢 :)
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R=301,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [NC,L]
RewriteCond%{REQUEST_FILENAME}!-d说:如果是目录,不要做重写规则
编辑:
你能尝试一下:
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^\.]+)/?$ /$1.php [NC]
这应该重写php文件中没有任何点的所有请求