[英]how to replace all the ? and = by / htaccess
您好,我有一個要替換所有網站的網站嗎? 和=由/組成的網址。 我知道這個cn是由htaccess文件完成的,但是我對htaccess非常陌生
我的htaccess文件中有此代碼
ErrorDocument 404 /error404.php
ErrorDocument 403 /error404.php
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} POST [NC]
RewriteRule ^ - [L]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.*$ [NC]
RewriteRule \.(gif|jpg|jpeg)$ http://www.domain.com [L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{THE_REQUEST} \s/+(page1)\.php\?eid=(78)[&\s] [NC]
RewriteRule ^ /%1/%2? [R=301,L]
RewriteRule ^(page1)/(\d+)$ /$1.php?eid=$2 [L,QSA,NC]
RewriteCond %{THE_REQUEST} \s/+page2\.php\?url=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]
RewriteCond %{THE_REQUEST} \s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /page2.php?url=$1 [L,QSA]
提前thnkx ...我要替換所有? 和/的網址=
domain.com/page.php?id=44 by
domain.com/page/id/4
首先,您需要闡明要完成的工作。
如果您打算讓用戶訪問domain.com/page/id/4
並在內部將其重寫為page.php?id=4
,那么您有兩種選擇:
1)使用重寫規則,例如:
RewriteRule ^/?page/([^/]+)/(.+)$ page.php?$1=$2
2)(首選)使用MultiViews,並讓您的php腳本通過解析
REQUEST_URI ($_SERVER['REQUEST_URI']).
首先,您需要闡明要完成的工作。
如果您打算讓用戶訪問domain.com/page/id/4並將其內部重寫為page.php?id = 4,那么您有兩種選擇:
1)使用重寫規則,例如:
RewriteRule ^ /?page /([[^/]+)/(.+)$ page.php?$ 1 = $ 2 2)(首選)使用MultiViews,並讓您的php腳本通過解析
REQUEST_URI($ _SERVER ['REQUEST_URI'])。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.