use*_*985 4 .htaccess mod-rewrite
我在我的htaccess文件中使用以下内容去除我的文件上的.php扩展名.它工作正常.
但是,我还想利用ErrorDocument 404 /index.php将任何不存在的网址重定向回主页.如果我ErrorDocument 404 /index.php单独使用htaccess,重定向工作正常.此外,如果我使用下面的重写代码,它成功剥离了PHP扩展.但是,我希望这两者能够一起工作.
例如,如果用户输入" www.domain.com/register" ,则会转到www.domain.com/register.php.但如果他们输入" www.domain.com/something"并且something.php不存在,那么他们会重定向回index.php.我已经尝试过将这两种方法放在一起,htaccess但无济于事.任何帮助,将不胜感激.
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L]
Run Code Online (Sandbox Code Playgroud)
不确定你遇到的问题究竟是什么,但如果我改变你的规则,它对我有用:
ErrorDocument 404 /index.php
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]
Run Code Online (Sandbox Code Playgroud)
因此,不检查请求是否未访问存在的实际文件/目录,而是检查该文件的.php版本是否存在.
| 归档时间: |
|
| 查看次数: |
2179 次 |
| 最近记录: |