aki*_*aki 14 php apache .htaccess mod-rewrite
我的.htaccess重定向有问题.当我输入:
http://www.domain.com/contact
Run Code Online (Sandbox Code Playgroud)
它转到index.php而不是contact.php
这是我的.htaccess:
Redirect 301 /clients http://clients.domain.com
RewriteEngine On
SetEnvIf Host ^www\. page=www
SetEnvIf Host ^mob\. page=mobile
RewriteBase /
SetEnvIfNoCase User-Agent "^Wget" bad_bo
#etc ...
Deny from env=bad_bot
RewriteCond %{HTTP_HOST} !^www.domain.com
RewriteRule (.*) http://www.domain.com/$1 [R=301]
RewriteRule ^about/?$ about.php
RewriteRule ^contact/?$ contact.php
rewriterule ^(.*)$ index.php?subdomain=%{ENV:page}&page=$1
Run Code Online (Sandbox Code Playgroud)
在我的PHP我得到:
<?php
print_r($_GET);
Array (
[subdomain] => www
[page] => contact.php
)
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
Boo*_*eus 17
试试这条规则:
RewriteCond %{HTTP_HOST} !^www.domain.com [NC]
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
RewriteRule ^about/?$ about.php [NC,QSA,L]
RewriteRule ^contact/?$ contact.php [NC,QSA,L]
rewriterule ^([a-z0-9]+)$ index.php?subdomain=%{ENV:page}&page=$1 [NC,QSA,L]
Run Code Online (Sandbox Code Playgroud)
我还添加了NC, QSA, L标志,以确保在[L]匹配时执行最后一条规则,[NC]对于非大小写和[QSA]Query String Append.
| 归档时间: |
|
| 查看次数: |
1937 次 |
| 最近记录: |