.htaccess不起作用

时间:2012-05-20 15:02:38

标签: .htaccess

我有以下.htaccess文件:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^mydomain.com
RewriteRule (.*) http://www.mydomain.com/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^mykeyword$ news.php [L,QSA,NC]

然而,当我打开news.php时,网址仍然是相同的,即www.mydomain.com/news.php而不是www.mydomain.com/mykeyword

我做了以下测试:

RewriteEngine on 
RewriteRule ^test\.html$ test.php [L]

我在我的服务器,test.html和test.php上传了2个文件,在我输入www.mydomain.com/test.html之后,显示了我的php页面,这意味着我的设置没有问题。到底是什么我做错了???

任何帮助都将深受赞赏。

的问候,卓然

2 个答案:

答案 0 :(得分:0)

重写规则将从用户提供的URL 转换为服务器看到的URL。尝试浏览www.mydomain.com/mykeyword - 您应该看到页面news.php。

答案 1 :(得分:0)

将.htaccess更改为:

RewriteEngine On
RewriteBase /

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

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+news\.php [NC]
RewriteRule ^ mykeyword [R=301,L]

RewriteRule ^mykeyword/?$ news.php [L,NC]