如何在.htaccess文件的幫助下將我的第一個參數重命名爲任何變量?如何通過.htaccess重命名第一個參數
例如,使用http://localhost/mysite/index.php
,我想將index.php或任何其他頁面名稱重命名爲某個特定名稱。
即返回的.htaccess我以下網址
http://localhost/mysite/page
「頁」 可以是任何頁面名稱即的index.php,about.php,等等。
如何在.htaccess文件的幫助下將我的第一個參數重命名爲任何變量?如何通過.htaccess重命名第一個參數
例如,使用http://localhost/mysite/index.php
,我想將index.php或任何其他頁面名稱重命名爲某個特定名稱。
即返回的.htaccess我以下網址
http://localhost/mysite/page
「頁」 可以是任何頁面名稱即的index.php,about.php,等等。
要只「允許」,用字母網頁:
RewriteEngine on
RewriteRule ^mysite/([a-z]+)$ http://localhost/mysite/$1.php [L]
爲「允許」以任何字符頁面
RewriteEngine on
RewriteRule ^mysite/([.]+)$ http://localhost/mysite/$1.php [L]
無需htaccess
,使用此:
RedirectMatch /mysite/index.php http://localhost/mysite/page
使用mod_rewrite重寫您的網址。這是基於模式的。
首先添加到您的.htaccess
選項+的FollowSymLinks RewriteEngine敘述 上
這開啓了重寫引擎。然後定義必須被捕獲的模式&改寫:
重寫規則^頁/([^/.]+)/?$^.PHP [L]
我認爲這條規則將做你要求重寫。欲瞭解更多信息只是看在谷歌的mod_rewrite使用的例子
您通常會將slug或請求URI作爲查詢字符串的一部分,然後使用.htaccess和PHP的組合來重寫該傳入請求。
例如,你可以榻這在你的.htaccess文件來捕獲所有傳入的請求:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?url=$1 [L,QSA]
這將重新編寫任何傳入的URL,這是不是已經是一個文件或目錄。所以http://example.com/page會被匹配。
然後在你的index.php腳本,你將有類似如下的內容:
<?php
$parts = explode('/', $_GET['url']);
這只是將您的網址在斜線,所以如果請求URL是/頁/關於美國你會得到一個陣列,看起來如下:
array(2) {
[0]=> string(4) "page"
[1]=> string(8) "about-us"
}
希望這會有所幫助。
沒有不喜歡這個。我想重新命名每個傳入的請求到「page」參數,然後在index.php上,希望通過獲取「page」作爲查詢字符串來加載頁面 – baig772 2012-03-09 12:36:24