我正在尝试使用此代码(我承认我在此处通过其他问题复制/粘贴)从网站的网址中删除“.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文件一般都在服务中。
我不知道这方面会出现什么问题,所以我不知道从哪里开始排除故障。有人有指针吗?
提前致谢。
答案 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
。