我想使用htaccess重写来显示没有扩展名的单个页面。
http://site.com/account 至 http://site.com/account.php
RewriteEngine on
RewriteRule ^account$ /account.php [L]
不应该这样吗?它什么都不做。
我也尝试过一般的,但这也不起作用:
RewriteEngine on
RewriteRule ^(.*)/$ $1.php
答案 0 :(得分:0)
是否启用了重写模块?也许尝试检查以斜杠结尾的URL。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^account\/\?$ /account.php [L]
</IfModule>
答案 1 :(得分:0)
我的建议是使用动态规则,而不是静态规则:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1.php [L]
这样任何页面都会引用任何PHP脚本。
例如:
http://site.com/account将加载http://site.com/account.php
http://site.com/login将加载http://site.com/login.php
但是,如果您更喜欢使用静态重写规则,则可以使用以下内容:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^index index.php [L]
我想指出,如果您计划对脚本使用这些重写规则,请将其放在子文件夹中,例如
http://site.com/myfolder/account
然后,最好在发起RewriteBase
RewriteEngine