是否有可能使url重寫被強制?如何強制mod_rewrite重寫規則顯示爲重寫,即使輸入了未重寫的url
下面是一個有用的例子,http://localhost/home/去http://localhost/index.php?page=home但url保持與用戶相同。
我無法工作的是迫使http://localhost/index.php?page=home顯示爲 http://localhost/home/。
我不知道我是否使用了正確的術語,但是我希望它能夠讓您輸入非重寫的url,我希望重寫的url能夠出現在用戶的瀏覽器中。
這是我迄今爲止的工作:
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond $1 !^(index\.php)
RewriteRule ^([a-zA-Z0-9_]*)/([a-zA-Z0-9_]*)/([a-zA-Z0-9_]*)/?$ index.php?page=$1&a=$2&b=$3 [L,NC,QSA]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond $1 !^(index\.php)
RewriteRule ^([a-zA-Z0-9_]*)/([a-zA-Z0-9_]*)$ index.php?page=$1&a=$2 [L,NC,QSA]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond $1 !^(index\.php)
RewriteRule ^([a-zA-Z0-9_]*)$ index.php?page=$1 [L,NC,QSA]
無法重新加載頁面,您無法更改用戶輸入的網址。我不認爲重寫規則會在這種情況下幫助你。 (請參閱http://stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page) – tawman 2011-03-16 13:45:00
我認爲你採取了錯誤的方式:如果你仔細想想,你只是不想要用戶直接訪問'index.php',對嗎?只要做一個**'404' **並在**'404' **顯示一些**真正**的鏈接。好404有消息「你的意思是'http:// localhost/home /'」? ... – 2011-11-29 09:40:51