1

我正在尝试使用 .htaccess 文件中的此代码(我承认我从此处的其他问题复制/粘贴)从网站的 URL 中删除“.php”扩展名:

RewriteEngine on
Options +FollowSymLinks    
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

.htaccess 文件的其他行确实有效,例如,我有一个错误重定向并且:

RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

所以,我知道 .htaccess 文件一般都在使用中。

我不知道这方面会出现什么问题,所以我不确定从哪里开始进行故障排除。有没有人有指针?

提前致谢。

4

1 回答 1

1

鉴于您的域帐户是/home/youraccount/public_html,您.htaccess将位于public_html包含以下内容的文件夹中:

Options +FollowSymLinks -MultiViews

RewriteEngine on
RewriteBase /

# First we redirect the www to non-www
RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC]
RewriteRule ^/?(.*)$ http://domain.com/$1 [R=301,L]

# now we redirect phpless URLs internally to the php
# if folder does not exist
RewriteCond %{REQUEST_FILENAME} !-d
# but the file exists and ends with .php
RewriteCond %{REQUEST_FILENAME}\.php -f
# redirect to name.php
RewriteRule ^([^/]+)/?$ $1.php [L]

注意:如果您有更多规则,这可能会发生冲突,因此我将不得不查看您的其余规则,但基本上上述内容应该按预期工作。

您将能够同时访问:

domain.com/index

domain.com/index/

它会重定向到您的文件index.php

于 2013-08-26T06:39:22.810 回答