htaccess无法正常工作 - 简单重写规则在我的网站上什么都不做

时间:2012-12-04 19:42:52

标签: .htaccess mod-rewrite

我知道这些重写规则问题遍布StackOverflow - 我已经阅读了所有这些问题。我已经在http://htaccess.madewithlove.be/上测试了我的htaccess代码,它又回来了。 但在我的网站上它不起作用。

这是代码(目前在/ new /文件夹下的网站上):

Options +FollowSymLinks

RewriteEngine On 
RewriteBase /new


RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteCond %{REQUEST_URI} [^/]$
RewriteRule ^(.*)$ $1.php

这是网站: http://strattonindustrial.com/new/property/page

我希望 / page / 在后台重定向到 /page.php ,但在网址中显示/ page /,但它会给我一个404页面,所以没有重定向发生。我基本上试图从文件名中删除“.php”并使其对SEO友好。

此外,我已经打电话给Godaddy并检查以确保mod_rewrite已加载并打开。他们找不到任何不起作用的东西。 所以它必须是我的代码,但对于我的生活,我无法理解。

2 个答案:

答案 0 :(得分:2)

以下是您需要的代码:

RewriteEngine On
RewriteOptions inherit
Options +FollowSymlinks

RewriteBase /new

## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]

## To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_FILENAME}.php [L]

答案 1 :(得分:1)

我终于明白了!!!!从StackOverflow上的这个答案(最后一个答案):godaddy mod_rewrite not working on subfolder

显然,对于godaddy(也许是其他人),你必须添加:

Options -Multiviews

到.htaccess页面的顶部以使其工作。现在它就像一个魅力。