![](/img/trans.png)
[英]Is there a way to rewrite my urls without using mod_rewrite and .htaccess?
[英]How to rewrite URLs using mod_rewrite in .htaccess files
是否有關於如何使用mod_rewrite更改URL的良好清晰的參考?
我正在嘗試進行基本的URL重寫,當我嘗試找出它時,我發現許多人對此感到困惑,並遇到了很多隨機的例子,但是沒有一個單一的資源可以解釋它的工作原理以及所有選項等等。有時候我很幸運,找到了與我想做的事情類似的東西,但是常常有很多不同的版本。 有時他們都工作。 有時他們都不做。 所以這是一個猜謎游戲。
我找到了apache mod_rewrite文檔,但讀起來像便宜的立體聲指令。 (只是一堆細節和沒有明顯關系的示例)所以我仍然在猜測很多事情。
我將列出我想做的事情,以防萬一這是一個簡單的答案,但我希望使用RTFM,以便下次可以自己弄清楚:
example.com/hideme/*-> example.com / *(隱藏特定的子目錄)
# security requirement
Options +FollowSymlinks
# turn rewrite engine on
RewriteEngine on
# you only need to do those directives above once per .htaccess
# remap example.com/ w/ or w/o slash in the end into example.com/hideme/
RewriteRule ^/?$ /hideme/
# remap example.com/$group into example.com/hideme/$var
RewriteRule ^(.+)$ /hideme/$1
# redirect example.com/hideme w/ or w/o slash in the end into example.com/
RewriteRule ^hideme/?$ / [R]
# redirect example.com/hideme/$group into example.com/$var
RewriteRule ^hideme/(.+)$ /$1 [R]
實際上,我不知道上面的代碼是否有錯誤,這就是為什么程序員總是測試他們所做的事情,並且如果它能正常工作,他們就已經完成了,並且不需要將他們的代碼與其他代碼進行比較會更好。 這是我最喜歡的說明之一,我認為這是最簡單的說明: http : //corz.org/serv/tricks/htaccess2.php
附加鏈接:
當我在尋找這樣的mod_rewrite
模式語法, RewriteCond
運算符等內容時,經常會訪問http://semlabs.co.uk/journal/mod_rewrite-quick-reference-and-cheat-sheet 。
在$DOCUMENT_ROOT
目錄中使用此.htaccess隱藏目錄_wp
:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+_wp/([^\s]+) [NC]
RewriteRule ^ /%1 [R=302,L]
# assuming your cake installation is in /tests
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (?!^tests/)^(.*)$ /_wp/$1 [L,NC]
這將從URL中刪除/_wp
。
順便說一句,除了那些有用的Google搜索結果之外,還有一本關於mod_rewrite的書 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.