我需要http://profiles.mysite.com/Me
來顯示http://mysite.com/profile.php?user=Me
會顯示什麼。.htaccess子域的文件夾查詢字符串
「我」根據用戶名而變化。它可以包含空格,不是真正的文件夾。
我不希望URL在地址欄中更改。
我需要http://profiles.mysite.com/Me
來顯示http://mysite.com/profile.php?user=Me
會顯示什麼。.htaccess子域的文件夾查詢字符串
「我」根據用戶名而變化。它可以包含空格,不是真正的文件夾。
我不希望URL在地址欄中更改。
httpd.conf
httpd.conf
最後把這個代碼放到您的.htaccess
下DOCUMENT_ROOT
目錄
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d [OR]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule^- [L]
RewriteRule ^([^\s]+)\s([^\s]+)(\s.*)?$ $1+$2$3 [L]
RewriteRule ^([^\s]+)\s $1 [L]
RewriteCond %{HTTP_HOST} ^profiles\.mysite\.com$ [NC]
RewriteRule ^(.*)$ http://mysite.com/profile.php?user=$1 [P,L,QSA]
此答案現在將支持URI中的任何空格,因爲它是基於遞歸的規則。換句話說一個URI是這樣的:
http://profiles.mysite.com/foo bar baz
將被代理:
http://mysite.com/profile.php?user=foo+bar+baz
雖然網址在瀏覽器仍將:
http://profiles.mysite.com/foo&20bar%20baz
把下面的代碼在.htaccess文件中的Web根目錄應該給你你需要的東西:
RewriteCond %{HTTP_HOST} ^profiles.mysite.com
RewriteRule ^(.*)$ mysite.com/profile.php?user=$1 [L]
謝謝,但這會導致URL發生更改。 – Dav
這就是說mod_proxy模塊沒有加載到httpd.conf中。請注意,我使用標誌'P'而不是標誌'R'。在這裏看到更多的細節:http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html – anubhava
得到它的工作,感謝你們倆! – Dav