Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在删除URL(子目录除外)中的.php扩展名_Php_Apache_.htaccess_Mod Rewrite_Url Rewriting - Fatal编程技术网

正在删除URL(子目录除外)中的.php扩展名

正在删除URL(子目录除外)中的.php扩展名,php,apache,.htaccess,mod-rewrite,url-rewriting,Php,Apache,.htaccess,Mod Rewrite,Url Rewriting,您好,我使用下面的代码从.htaccess中的url中删除扩展名.php php------index,它工作得很好 请帮助我阻止删除子目录中的.php扩展名,例如:www.example.com/cp/index,而不是:www.example.com/cp/index.php RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f Re

您好,我使用下面的代码从.htaccess中的url中删除扩展名.php php------index,它工作得很好

请帮助我阻止删除子目录中的.php扩展名,例如:
www.example.com/cp/index
,而不是:
www.example.com/cp/index.php

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

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [NC,L,QSA,R=301]
以下情况不起作用:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^/([^/]+)/?
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^(.*)$ %1.php [L]

我是否可以将异常目录指定为一个特定的调用cp

您可以使用以下命令:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
#####exclude /cp folder####
RewriteCond %{REQUEST_URI} !^/cp
#################
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /((?!cp)[^.]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [NC,L,QSA,R=301]

请重新表述这句话“我可以在异常目录中调用一个特定的调用cp吗”,因为不可能理解您想要实现的目标。找不到请求的URL/cp/login在此服务器上找不到。此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。我想我们不需要删除cp子目录中的.php RewriteCond%{THE_REQUEST}^[A-Z]{3,9}\/([^\]+)\.php RewriteRule^/?(.*)\.php$/$1[NC,L,QSA,R=301]请参见@starkeen