“漂亮”的网址不起作用

时间:2013-08-25 22:41:07

标签: .htaccess pretty-urls

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

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文件一般都在服务中。

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

提前致谢。

1 个答案:

答案 0 :(得分: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