RewriteRule重定向到php文件无法正常工作

时间:2014-06-26 18:51:31

标签: php html .htaccess mod-rewrite rewrite

我只想要一个简单的重定向来清理网站上的网址。 例如 我希望ajhtestserver.com/registration/重定向到ajhtestserver.com/registration.php 它应该很容易,我已成功地在其他网站上使用.htaccess重写但由于某种原因它今天对我不起作用。

RewriteEngine On # Turn on the rewriting engine

RewriteRule ^registration[/]$ registration.php [NC,L] # Handle requests for "registration"

我确信这很简单,但我基本上只是将我在其他网站上的内容复制得很好,所以我很困惑为什么它只是拒绝在这里为我工作(给我{{ 1}}错误)。只有其中一天:(

感谢任何帮助。

谢谢, 亚当

3 个答案:

答案 0 :(得分:0)

如果您使用apache,首先应在http.conf或... \

中启用rewrite_mode
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^registration/(.*)$ registration.php/$1 [L]  

检查.htaccess语法或重写模式。

答案 1 :(得分:0)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)[/]$ $1.php [L]

答案 2 :(得分:0)

当重定向源词和目标文件名是相同的单词时,它似乎不喜欢它,但这有效... RewriteRule ^([a-zA-Z \] +)[/]?$ $ 1.php [NC,L]

这实际上是一个更好的解决方案,因为它不需要为每个页面单独的规则。

虽然我从未弄明白为什么它不喜欢原来的方式。