繁体   English   中英

.htaccess重写并仅删除几个文件上的.php

[英].htaccess rewrite and remove .php on only a few files

我正在尝试将我所有的.php文件扩展名重写为/

我用下面的代码来工作:

RewriteEngine开

# hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

但是,它破坏了我与数据库对话的管理页面,例如具有代码并使用URL中断的页面:

创建-ticket.php?设备= XBOX + 360

我需要将扩展​​名留在几个页面上...

有没有一种方法可以使用上面的代码,但是只能在特定文件上使用,而不是在每个以.php结尾的文件上使用?

谢谢-O

您可以这样进行排除:

RewriteEngine On

# hide .php extension snippet
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} !/(create-ticket|admin)\.php [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1/ [R,L]

# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.+?)/?$ $1.php [L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM