簡體   English   中英

參數的mod重寫規則

[英]mod rewrite rule for parameters

我有以下網址

www.localhost.com/profile.php?username=first.last

我想將上述網址永久重定向到使用.htaac​​cess文件。 (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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM