0
我的服務器人無法解決我遇到的問題。我在根文件夾上運行Wordpress。我不想擁有英文的文件夾語言。Htaccess重定向規則問題
https://domain.com/account/t/
https://domain.com/fr/account/t/
是爲做工精細,同樣的:
https://domain.com/auth/
但
https://domain.com/fr/account/t/myaccount/
工作正常,但不
https://domain.com/account/t/myaccount/
同爲URL:
https://domain.com/fr/account/t/tests/
工作正常,但不
https://domain.com/account/t/test/
它重新導向至www.domain.com ...
會有人有一個想法?這裏是我的htaccess文件:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^([^/]*)/auth/$ /auth/?lang=$1 [L]
RewriteRule ^([^/]*)/auth/login$ /auth/login.php?lang=$1 [L]
RewriteRule ^([^/]*)/auth/logout$ /auth/logout.php?lang=$1 [L]
RewriteRule ^([^/]*)/auth/registration$ /auth/registration_form.php?lang=$1 [L]
RewriteRule ^([^/]*)/auth/password-forgotten$ /auth/forgot_form.php?lang=$1 [L]
RewriteRule ^([^/]*)/auth/reset$ /auth/reset.php?lang=$1 [L]
RewriteRule ^([^/]*)/auth/activate$ /auth/activate.php?lang=$1 [L]
RewriteRule ^([^/]*)/account/$ /account/?lang=$1 [L]
RewriteRule ^([^/]*)/account/t/$ /account/t/?lang=$1 [L]
RewriteRule ^([^/]*)/account/t/jobs/$ /account/t/jobs.php?lang=$1 [L]
RewriteRule ^([^/]*)/account/t/myaccount/$ /account/t/myaccount.php?lang=$1 [L]
RewriteRule ^([^/]*)/account/t/([^/]*)$ /account/t/?lang=$1&step=$2 [L]
RewriteRule ^([^/]*)/account/t/tests/$ /account/t/testspage.php?lang=$1 [L]
RewriteRule ^([^/]*)/account/c/$ /account/c/?lang=$1 [L]
RewriteRule ^([^/]*)/account/c/([^/]*)$ /account/c/?lang=$1&step=$2 [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
非常感謝您的回答。我試過了,但它也將我重定向到www.domain.com。另外,我不想在主要語言的URL中使用語言標識... – JordanBelfort17
如果您正在重定向到www.domain.com,則必須在其他.htaccess或主httpd.conf中有其他位置,或者即使在PHP中。您提供的.htaccess在任何地方都沒有「www」,因此無法重定向到其他域。 – BareNakedCoder
是的,瞭解主要語言不應該在URL中。這就是爲什麼該模式具有'?',這意味着匹配0或1的前一個。如果URL不是以fr,de,es或OR開頭,那麼$ 2將是「」,爲空(暗示「en」)。 – BareNakedCoder