使用和不使用.php使URL工作时不加载文件夹

时间:2012-01-24 05:49:06

标签: .htaccess

我提供了使用和不使用.php的URL工作的代码。我包括以下编写的代码

   RewriteEngine On    
   RewriteCond %{REQUEST_FILENAME} !-f    
   RewriteRule ^([^\.]+)$ $1.php [NC,L] 

现在,无论有没有.php,网址都可以使用。对于例如如果我们将http://www.test.com/test.phphttp://www.test.com/test都放在一边。但问题是文件夹无法加载。对于例如http://www.test.com/admin无法加载。显示not found error。 Admin是一个文件夹。有什么想法吗?

3 个答案:

答案 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]

试试这个...我认为它的工作