我提供了使用和不使用.php
的URL工作的代码。我包括以下编写的代码
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
现在,无论有没有.php
,网址都可以使用。对于例如如果我们将http://www.test.com/test.php或http://www.test.com/test都放在一边。但问题是文件夹无法加载。对于例如http://www.test.com/admin无法加载。显示not found error
。 Admin是一个文件夹。有什么想法吗?
答案 0 :(得分:1)
尝试以下:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [NC,L]
这也适用于目录路径。
答案 1 :(得分:1)
请尝试使用此代码来删除.php扩展程序:
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^GET\s.+\.php [NC]
RewriteRule ^(.+)\.php$ /$1 [R=301,L,NC]
# To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule . %{REQUEST_URI}.php [L]
请务必注明现有代码
答案 2 :(得分:0)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
试试这个...我认为它的工作