簡體   English   中英

htaccess重定向-WordPress代碼沖突

[英]htaccess redirect - wordpress code conflict

我不知道有什么好心的人可以幫助我。

我在名為“ wp”的子目錄中構建了一個新的WordPress網站。 與其移動所有內容(我不完全了解該怎么做),不如簡單地重定向主頁,即http://www.example.com指向http://www.example.com/wp/ ,對於要從​​該子目錄中加載的所有頁面,將在地址行中減去/ wp /。

根據我的網絡托管服務商的說明,我已將此重定向代碼添加到.htacess文件中:

# Justhost.com
# .htaccess main domain to subdirectory redirect
# Copy and paste the following code into the .htaccess file
# in the public_html folder of your hosting account
# make the changes to the file according to the instructions.
# Do not change this line.
RewriteEngine on
# Change example.com to be your main domain.
RewriteCond %{HTTP_HOST} ^(www.)?example.com
$
# Change 'subdirectory' to be the directory you will use for your main domain.
RewriteCond %{REQUEST_URI} !^/wp/
# Don't change these line.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Change 'subdirectory' to be the directory you will use for your main domain.
RewriteRule ^(.*)$ /wp/$1
# Change example.com to be your main domain again.
# Change 'subdirectory' to be the directory you will use for your main domain
# followed by / then the main file for your site, index.php, index.html, etc.
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ wp/index.php [L]

但是,這無法正常工作,我的網絡托管服務商(對您不是很有幫助)告訴我WordPress生成的某些現有代碼存在沖突。 這是.htaccess文件中的現有代碼:

DirectoryIndex index.html index.shtml index.xhtml index.wml index.perl index.pl index.plx index.ppl index.cgi index.jsp index.js index.jp index.php4 index.php3 index.php index.phtml index.htm home.htm default.htm index.fcgi default.html
# -FrontPage-

IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

<Limit GET POST>
    order deny,allow
    deny from all
    allow from all
</Limit>
<Limit PUT DELETE>
    order deny,allow
    deny from all
</Limit>
AuthName zsr-art.org.uk
AuthUserFile /home/zsrarto1/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/zsrarto1/public_html/_vti_pvt/service.grp

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /index.php/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php/index.php [L]
</IfModule>

我正在使用固定鏈接,我想知道這是否引起問題。 有人能告訴我沖突在哪里以及如何解決它嗎?

您在RewriteBase中的/wp/.htaccess是錯誤的(因此您的規則是)。

在該文件中,替換此部分

<IfModule mod_rewrite.c> 
RewriteEngine On
RewriteBase /index.php/

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php/index.php [L]
</IfModule>

通過這個

<IfModule mod_rewrite.c> 
RewriteEngine On
RewriteBase /wp/

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L]
</IfModule>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM