1
나는 다음과 같이 환경 변수의 현재 작업 디렉토리를 설정하는한다 RewriteCond이 일치합니다. CWD가 값 '/ ES /'한다 RewriteCond는 탐욕
로 설정되어/es/website-design/do-it-yourself-website-builder.php
다음 REQUEST_URI를 들어
RewriteRule ^(?!ui?)([a-zA-Z]{2})/(.*)$ $2?language=$1 [NC,QSA]
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*?/)\1$
RewriteRule ^(.*)$ - [E=CWD:%2]
: 뭔가처럼
RewriteRule ^(?!ui?)([a-zA-Z]{2})/(.*)$ $2?language=$1 [NC,QSA]
전반적으로, 내 htaccess로 섹션 본다
하지만 REQUEST_URI의 경우 :
/de/website-design/do-it-yourself-website-builder.php
CWD는 값 '/ 디/웹 디자인 /'
이상적 CWD베이스 폴더 이름을 저장하기 위해 예상된다('/ ES /'와 '/ 디 /'각각)로 설정된 위의 경우에.
여기에 무슨 문제가 있습니까? 나는 꽤 언젠가 이것에 붙어있다.
도와주세요. 내 htaccess로 파일의
내용 :
RewriteEngine On
RewriteBase/
RewriteCond $2 !^(index\.php)
RewriteRule ^(shop)/(.*)$ $2 [NC,QSA]
RewriteCond %{THE_REQUEST} ^.*/(shop)/index\.php
RewriteRule ^(.*)index.php$ /$1 [R=301,QSA,L]
RewriteRule ^(?!ui?)([a-zA-Z]{2})/(.*)$ $2?language=$1 [NC,QSA]
# following tweak done for running supersite from within a folder
# for ever request url , this rule will match out the base folder
# name and capture it in the regex rule given in RewriteCond
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*?/)\1$
RewriteRule ^(.*)$ - [E=CWD:%2]
# Preventing Hot Linking of images
#RewriteCond %{REQUEST_URI} ^\/getImage\.php [NC]
#RewriteCond %{HTTP_REFERER} !^.*(manage.bigrock.in|manage.bigrock.com).*$ [NC]
#RewriteCond %{REQUEST_URI} .*\.css$ [NC,OR]
#RewriteCond %{REQUEST_URI} .*\.js$ [NC,OR]
#RewriteCond %{QUERY_STRING} !^src\=favicon\.ico$ [NC]
#RewriteCond %{HTTP_REFERER} ^http://([^/]+) [OR]
#RewriteCond %{HTTP_REFERER} ^$
#RewriteCond %{HTTP_HOST}<>%1 !^(.+)<>\1$ [NC]
#RewriteRule ^(.*)$ /noimage.html [Last]
RewriteCond %{HTTP_USER_AGENT} ^GlobalSign-Approver
RewriteRule ^(.*)$ cloudflare.html [L]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^/onlinepayment/(.*)$ https://%{HTTP_HOST}/onlinepayment/$1 [NC,QSA]
RewriteCond %{REQUEST_METHOD} !POST
RewriteRule ^index\.php$/[R=301,QSA,L]
RewriteCond %{REQUEST_FILENAME} (S|s)itemap.xml
RewriteRule ^(.*)$ /seo-files.php?type=sitemap [L]
RewriteCond %{REQUEST_FILENAME} ror.xml
RewriteRule ^(.*)$ /seo-files.php?type=ror [L]
RewriteCond %{REQUEST_FILENAME} urllist.txt
RewriteRule ^(.*)$ /seo-files.php?type=urllist [L]
# Robots.txt redirection to robots.php
RewriteRule ^robots.txt robots.php [L,NC]
# URL rewriting
RewriteRule ^domain-registration-pricing$ /domain-registration/domain-registration-price.php [R=302,L,NC,QSA]
RewriteRule ^domain-registration/transfer/index.php /domain.php?action=domain_transfer&bypass_url_mapper=false [L,NC,QSA]
RewriteCond %{QUERY_STRING} ^idn
RewriteRule .*domain-registration/index.php /domain-registration/idn? [R=301,L]
RewriteRule ^promos.php /content.php?action=promos [L,NC,QSA]
RewriteRule ^website-design/index.php /sitebuilder.php?type=sblite&bypass_url_mapper=false [L,NC,QSA]
#RewriteRule ^website-design/do-it-yourself-website-builder.php %{ENV:CWD}website-design/index.php? [R=301,L,NC]
RewriteRule ^website-design/web-design-service.php /website-design/index.php [R=301,L,NC,QSA]
RewriteRule ^website-design/(.*).js$ /$1.js [L,NC,QSA]
RewriteRule ^website-builder.php$ /website-design/index.php [R=301,L,NC,QSA]
RewriteRule ^do-it-yourself.php$ /website-design/index.php [R=301,L,NC,QSA]
RewriteRule ^build-it-for-me.php$ /website-design/index.php [R=301,L,NC,QSA]
RewriteRule ^combo-offers /product-bundle.php [L,NC,QSA]
RewriteRule ^express-cart[/]{0,1}([a-zA-Z0-9_]*)[/]{0,1}$ /quickbuy.php?action=$1 [L,NC,QSA]
RewriteRule ^express-cart[/]{0,1}([a-zA-Z0-9_]*)[/]{1}([a-zA-Z0-9_]*)[/]{0,1}$ /quickbuy.php?action=$1_$2 [L,NC,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /urlmapper.php [L,QSA]
CWD는 기본 폴더 이름 ('/ es /'및 '/ de /')을 각각 반환해야합니다. 내 루트 폴더에 – debaShish
, 'es'및 'de'폴더 외부 – debaShish
그 다음 문제입니다. 표시 한 규칙은'RewriteBase' 경로를 결정하는 것입니다. 사이트 루트에서 상대 경로를 의미합니다. .htaccess 자체가 사이트 루트에 있다면'RewriteBase'는 단지'/' – anubhava