单页.htaccess重写

时间:2011-09-05 17:37:43

标签: php .htaccess mod-rewrite rewrite

我想使用htaccess重写来显示没有扩展名的单个页面。

http://site.com/accounthttp://site.com/account.php

RewriteEngine on
RewriteRule ^account$ /account.php [L]

不应该这样吗?它什么都不做。

我也尝试过一般的,但这也不起作用:

RewriteEngine on
RewriteRule ^(.*)/$ $1.php

2 个答案:

答案 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