Apache URL重写问题
我使用.htaccess将www.site.com/sell.php等URL更改为www.site.com/sell。在my/上存在销售页面,并且工作正常。问题是当我尝试像www.site.com/sadasddfgfds这样的东西时,因为“sadasddfgfds”不存在。我收到一个500 Apache的错误 这是我的.htaccess文件:Apache URL重写问题,apache,url,.htaccess,mod-rewrite,Apache,Url,.htaccess,Mod Rewrite,我使用.htaccess将www.site.com/sell.php等URL更改为www.site.com/sell。在my/上存在销售页面,并且工作正常。问题是当我尝试像www.site.com/sadasddfgfds这样的东西时,因为“sadasddfgfds”不存在。我收到一个500 Apache的错误 这是我的.htaccess文件: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCo
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /$0.php
我怎样才能修好它?谢谢你们
更新:工作!谢谢大家!
现在,如何将用户重定向到404自定义错误页?您需要测试新目标是否为现有文件:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* /$0.php
否则您将得到一个无限递归。您必须进行检查以确保该文件不存在。您还必须确保相应的php文件确实存在:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* /$0.php
肯定会有一些聪明的人来帮你。但是,您可以考虑将此发布到有一组服务器专家GuysErrordOctup/40/4.PHP的地方,这是自定义错误页面的全部内容。