2

我知道这些重写规则问题遍布 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,但在 URL 中显示 /page/,但它给了我一个 404 页面,所以没有重定向发生。我基本上是在尝试从文件名中删除“.php”并使其对 SEO 友好。

此外,我已经打电话给 Godaddy 并检查以确保 mod_rewrite 已加载并打开。他们找不到任何不起作用的东西。所以它一定与我的代码有关,但对于我的一生,我无法弄清楚。

4

2 回答 2

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]
于 2012-12-04T19:49:23.863 回答
1

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

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

Options -Multiviews

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

于 2012-12-06T18:03:02.600 回答