我有以下.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页面,这意味着我的设置没有问题。到底是什么我做错了???
任何帮助都将深受赞赏。
的问候,卓然
答案 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]