2013-12-12 90 views
0

我想从我的网址删除.PHP, 下面是我的.htaccess内容PHP的阿帕奇国防部重写删除.PHP不工作

<IfModule mod_rewrite.c> 
Options -MultiViews 
RewriteEngine On 
RewriteBase /folder/ 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/]+)/?$ path.php?username=$1 [L,QSA] 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ $1.php [L] 
</IfModule> 

我没有任何想法什么错。

+0

RewriteCond%{REQUEST_FILENAME}!-f 检查文件的存在。如果你有一个home.php的路径,规则将不匹配,因此直接加载文件 – Stewie

+0

@ stewe,我是一个在mod重写的初学者,基本上我有两个条件在我的规则中,第一个是清理url从**本地主机/文件夹/配置文件?名称=测试**到**本地主机/文件夹/测试**,第二个是从url中删除.php扩展名。我认为这是互相冲突的 –

+0

那么哪个网址不适合你? – anubhava

回答

0

试试这个:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 
0

你需要一个额外的规则.php URL重定向到非PHP之一。试试这个代码:

Options -MultiViews 
RewriteEngine On 
RewriteBase /folder/ 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^/]+)/?$ path.php?username=$1 [L,QSA] 

RewriteCond %{THE_REQUEST} \s/+folder/(.+?)\.php[\s?] [NC] 
RewriteRule^%1? [R,L,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/?$ $1.php [L] 
相关问题