0
我想在我剛剛構建的網站上設置一個漂亮的固定鏈接系統,並且沒有任何影響。我要麼得到500錯誤,要麼永久鏈接不起作用,並且/或者它打破了所有CSS和圖像的鏈接,同時如果嘗試使用永久鏈接結構仍然會給404。自定義網站上的mod_rewrite的固定鏈接生成
這裏是我的.htaccess代碼:
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /main/index.php?act=$1&sub=$2&id=$3 [L]
我希望它轉換鏈接像index.php?act=admin&sub=edit-product&id=5
到/admin/edit-product/5
,同時包括任何在兩者之間。例如,如果一個URL有一個ID呼叫但不是一個子呼叫,它仍然可以工作。
任何幫助將不勝感激。
UPDATE:
我已經加入RewriteBase /
和它現在做的事情,但固定鏈接不能正常工作。
有沒有一種方法可以找出重寫的URL實際指向的位置?
看來,使用所有重寫規則的完整URL可以正常工作,但不是隻需要其中一部分的URL。
看那裏http://stackoverflow.com/questions/16423258/php-mvc-with-better-htaccess/16423418 – Eugene 2013-05-07 16:37:54
好了,我的代碼現在是'RewriteEngine敘述上 的RewriteCond%{} REQUEST_FILENAME!-f 的RewriteCond% {REQUEST_FILENAME}!-d RewriteRule ^([^ /] +)/([^ /] +)(/([^ /] +))$ main/index.php?act = $ 1&sub = $ 3&id = $ 4'。它不會破壞CSS /圖像鏈接,但重定向不起作用。 – Adam 2013-05-07 16:45:50
您可以嘗試使用以下規則將所有重定向到index.php:RewriteRule ^。* $ index.php [NC,L]並在您的PHP應用程序中解析$ _SERVER ['REQUEST_URI'] – Eugene 2013-05-07 16:49:21