我在使用.htaccess时遇到了麻烦。 这是我的.htaccess文件的内容
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}!-d
RewriteCond %{REQUEST_FILENAME}!-f
RewriteRule ^([^.]+)\.php$ $1 [L]
我打开了一个文本文件,粘贴这些行并将其保存为.htaccess 在我右键单击.htaccess文件并将其更改为“用记事本打开”之前,它显示.htaccess。我想这不应该有所作为,但现在它显示一个空白名称。
主要的问题是当我通过wamp在浏览器上打开我的localhost时,我保存.htaccess文件的文件夹是不可见的,或者我访问它时显示此内部服务器错误。现在,如果我删除来自那里的.htaccess文件,它显示在localhost目录中,当我尝试打开它时没有显示错误。
答案 0 :(得分:1)
如果您收到500内部服务器错误,则正在读取.htaccess文件。从我看到的情况来看,您可能在!
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
#-----------------------------^^
RewriteCond %{REQUEST_FILENAME} !-f
#-----------------------------^^
RewriteRule ^([^.]+)\.php$ $1 [L]
但是如果您希望用户不要看到.php扩展名,那么RewriteRule
就会倒退。第一部分不应包含.php:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
# The input URL has no PHP, but internally is served as .php
RewriteRule ^([^.]+)$ $1.php [L]