[英]mod rewrite rule for parameters
我有以下網址
www.localhost.com/profile.php?username=first.last
我想將上述網址永久重定向到使用.htaaccess文件。 (Apache服務器)
www.localhost.com/first.last
請也考慮那里還有其他幾個網址,但我不想碰它們。
www.localhost.com/message.php?id=12
www.localhost.com/editprofile.php?editname=first.last
www.localhost.com/uploadphoto.php?username=first.last
誰能幫幫我嗎。 先感謝您。
您可以嘗試使用RewriteCond
處理查詢字符串,並將捕獲的匹配項傳遞給RewriteRule
。 您必須排除重寫規則中的任何.php
腳本,否則它將對其他URL造成一些問題。
不要忘記在RewriteRule
之后添加[QSA]標簽,否則它將不會添加查詢字符串參數。
也許做這樣的事情:
RewriteEngine on
#serve any existing php scripts as usual
RewriteRule ^([a-zA-Z0-9]+\.php) - [L]
#and now handle your specific stuff:
RewriteCond %{QUERY_STRING} ^([a-zA-Z0-9]+\./[a-zA-Z0-9]+)$
RewriteRule ^(%1)$ /profile.php?username=%1 [QSA]
我沒有測試,但這應該是一個好的開始。 您可以在此處和mod_rewrite httpd 2.2文檔中閱讀一些有關如何編寫和處理特定重寫用例的好東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.