簡體   English   中英

Apache重寫規則(url重寫)

[英]Apache rewrite rule (url rewriting)

例如如何進行URL重寫,我希望我看起來像

www.myurl.com/study-abroad/what/ever/

如果我輸入

www.myurl.com/studyabroad/what/ever/

這個想法是出國留學而不是學習

如果您事先知道每個URL會遇到多少短划線,則可以執行此操作:

RewriteEngine On

# Replacing a single dash, e.g. example.com/study-abroad/what/ever
RewriteCond %{REQUEST_URI} ^([^-]*)-([^-]*)$
RewriteRule ^([^-]*)-([^-]*)$ $1$2 [L]

# Replacing two dashes, e.g. example.com/study-abroad/what-ever
RewriteCond %{REQUEST_URI} ^([^-]*)-([^-]*)-([^-]*)$
RewriteRule ^([^-]*)-([^-]*)-([^-]*)$ $1$2$3 [L]

......等等。 但是,我可以補充一點,這是因為設計破壞了,你應該重新考慮你的方法。

問候

對於這樣一個簡單的示例,我將使用mod_alias重定向而不是mod_rewrite 例:

Redirect permanent /studyabroad http://www.myurl.com/study-abroad

有關完整的文檔,請參見http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect

您需要將此(或類似的)代碼片段放入Apache配置文件中:如果啟用(並且您具有適當的權限),則它可能是網站目錄中的.htaccess 或者,您可以修改主Apache配置。 有關Apache配置文件的信息,請參見http://httpd.apache.org/docs/current/configuring.html

(編輯以反轉映射:添加破折號而不是刪除它)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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