从url的第二段隐藏PHP扩展

时间:2014-03-27 12:28:58

标签: php .htaccess url-rewriting

我正在使用一个htaccess代码(Core PHP)来隐藏来自url的php扩展并且它工作得很好但不是第二段url

例如,如果url是http://www.abc.com/somepage,那么我的代码运行得很好但是url是 http://www.abc.com/xyz/sompage比我的代码失败。

这是我的htaccess代码

        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^([^/]+)/$ http://www.abc.com/$1 [R=301,L]

        # Redirect external .php requests to extensionless url
        RewriteCond %{THE_REQUEST} ^(.+)\.php([#?][^\ ]*)?\ HTTP/
        RewriteRule ^(.+)\.php$ http://www.abc.com/$1 [R=301,L]

        # Resolve .php file for extensionless php urls
        RewriteRule ^([^/.]+)$ $2.php [L]

请帮我找出解决方案,无论有多少段,但它应该把最后一段作为一个php文件

提前致谢

1 个答案:

答案 0 :(得分:0)

尝试添加:

RewriteCond %{HTTP_HOST} !^www.abc.com/xyz [nc]
RewriteRule !^(.*)$ !http://www.abc.com%{REQUEST_URI} [R=301,L]