我想重寫example.com
網址example.com/ru
mod_rewrite的域名目錄
例如,如果網址是example.com/books
我想有example.com/ru/books
我覺得我不能這樣做header()
功能
這種方法也不正確
<meta http-equiv="refresh" content="1; url=http://www.example.com/ru">
我想重寫example.com
網址example.com/ru
mod_rewrite的域名目錄
例如,如果網址是example.com/books
我想有example.com/ru/books
我覺得我不能這樣做header()
功能
這種方法也不正確
<meta http-equiv="refresh" content="1; url=http://www.example.com/ru">
您應該編輯.htaccess以將用戶查詢重定向到/ level到新/ ru/level。在 http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/ru/
RewriteRule ^(.*)$ /ru/$1 [L,R=301]
您可以使用.htaccess
修改mod的文件。
在.htaccess
RewriteEngine ON
RewriteRule ^(.*)$ http://www.example.com/ru/$1 [R=301,L]
從Apache mod_rewrite的文件: 這應該爲你的目的而工作
RewriteCond %{Kramnik} !^/ru/$
RewriteRule ^/(.*) www.example.nl:/%{Kramnik}/$1 [L,R]
然而,重寫引擎必須先啓動。在Ubuntu中,您將啓用它的a2enmod重寫。
如果您有一個虛擬主機文件,那麼看看AllowOverride是否設置爲全部。只要將其設置爲無,.htaccess
文件將被忽略。
@Paolo Stefan:謝謝你的編輯。 –
如果這個URL已經包含了'ru',這將會執行'/ ru/ru/foo'。 –
是正確的,但取決於項目的範圍,可以通過在/ ru中創建另一個.htaccess文件來關閉RewriteEngine來克服此問題。 OP在項目的URL需求方面並不是很具體。 –