[英].htaccess rewriterule and fake directories
我正在嘗試用Apache和PHP重寫一些URL。 這是出於SEO的原因,因此foo.com/product-category/product-title變為foo.com/product.php?id=999。 我當然希望URL保持不變並成為SEO友好版本。
我有一個當前站點,該站點具有可以正常使用的設置,但它實際上是一個hack,而不是可維護的解決方案,因此,我試圖做正確的事情!
目前,我有:
RewriteRule ^([a-zA-Z0-9_\ \-\%]+)/?($) /url_redirect.php?page=$1 [QSA,L]
效果很好, http://foo.com/random-url ?foo = 1&bar = 2最終以$ _GET ['page'] ='random-url'和$ _GET ['foo']結尾於/url_redirect.php = 1等。
如果您更深一層,我希望發生完全相同的事情(例如http://foo.com/non-existing-directory/random-url?foo=1&bar=2 )
我可以將不存在的目錄創建為真實目錄,然后從該目錄中創建.htaccess,但必須有一種簡便的方法。.我希望我不必對任何目錄名稱進行硬編碼(這是我當前解決方案的工作方式)。
我認為這個問題可能與正則表達式不對,他們總是打敗我。
我只是嘗試過,雖然可能不是實現它的最佳方法(我不是重寫大師)
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_\ \-\%]+)/([a-zA-Z0-9_\ \-\%]+)?($) url_redirect.php?page=$2 [QSA,L]
RewriteRule ^([a-zA-Z0-9_\ \-\%]+)/?($) url_redirect.php?page=$1 [QSA,L]
抱歉,這是我的本地設置,這就是我認為您想要的方式!
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_\ \-\%]+)/([a-zA-Z0-9_\ \-\%]+)?($) /url_redirect.php?page=$2 [QSA,L]
RewriteRule ^([a-zA-Z0-9_\ \-\%]+)/?($) /url_redirect.php?page=$1 [QSA,L]
注意url_redirect.php之前的/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.