我一直在使用localhost,我的htaccess文件是
Options +FollowSymLinks
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) $1.php [L]
添加htacces代码后,网址
localhost/movies/news.php
工作
localhost/movies/news
也可以,但
localhost/movies/news/
不起作用。它显示“内部服务器错误”。如何使用斜杠而不使用斜杠。
答案 0 :(得分:2)
你试试这段代码:
Options +FollowSymLinks -MultiViews
RewriteEngine On
# Internally forwards movies/news/ to movies/news.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
答案 1 :(得分:1)
问题是,当您添加斜杠news/.php
时,这不起作用。
更好的解决方案是重写为GET变量,如下所示:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php?url=$1 [L]
然后,您可以在脚本中过滤GET变量,并包含所需的文件或内容。