有沒有辦法使用.htaccess更改網址,但不要重定向?在htaccess中反向mod_rewrite
我有一個像
<a href="?p=hello_world">Hello World</a>
在我的腳本(DIR/index.php文件)
聯繫,並希望將URL更改爲url.de/dir/hello_world
。
我現在的.htaccess文件:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^p=(.*)$
RewriteRule ^(.*)$ /%1? [R,L]
RewriteRule ^([a-zA-Z0-9-]+)/$ index.php?p=$1 [L]
RewriteRule ^([a-zA-Z0-9-]+)$ index.php?p=$1 [L]
,但現在從localhost/dir/?p=hello_world
網址變更爲localhost/hello_world
沒有/dir
。我不知道該目錄的名稱,因爲每個人都應該能夠使用我的項目,而不必在他的服務器上更改.htaccess。
我覺得很難理解應該顯示哪些網址,什麼網址應在服務器上加載。你必須做的,是有一個外部重定向('[R,L]'標誌)到漂亮的網址和一個內部重寫(只有'[L]'標誌)舊的網址。對於匹配'%{THE_REQUEST}'的外部重定向。 [我的這個答案](http://stackoverflow.com/a/20882418/2209007)可能會幫助你。 – Sumurai8