簡體   English   中英

.htaccess重定向不起作用

[英].htaccess redirection not working

我的.htaccess文件中有以下規則

RewriteEngine On
#1. home page redirection
RewriteRule ^$ php/home.php [QSA,L]                                        

#2. Detect Non valid files (for menus)
RewriteCond %{REQUEST_FILENAME} !-f

#3. append php/query.php                                                   
RewriteRule ^(.*)$ php/$1.php [QSA,L]         

更新:問題是我在wp目錄中沒有.htaccess。

這個工作正常,但是我最近在我的網站的子文件夾wp中安裝了wordpress。 在我的blog.php中列出wordpress帖子效果很好。

用戶通過此URL http://mysite/blog訪問博客網頁,然后執行rule #2

問題在於,在訪問wordpress文章和管理門戶時,也會觸發規則2和3。 在這種情況下,如何防止這種情況發生,我需要訪問以下URL。

內部服務器錯誤

http://mysite/wp/wp-admin

內部服務器錯誤

http://mysite/wp/some-article

資料夾結構

|-mysite
  |- css
  |- .htaccess
  |- wordpress
    |- wp
    |- wp-admin
  |- php
    |- index.php
    |- blog.php
  |- js

任何幫助/建議,不勝感激。

謝謝

更新:現在一切正常-這是我的.htaccess文件

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ php/home.php [QSA,L]                                                                                                                 
#WP articles
RewriteRule ^blog/([A-Za-z0-9-]+)/?$ wp/$1 [QSA,L]

#WP archives                     
RewriteRule ^blog/([0-9]{4}/[0-9]{2})/?$ wp/$1 [QSA,L]

#WP search                                       
RewriteCond %{QUERY_STRING} ^s=(.*)$
RewriteRule . wp/$/%1? [QSA,L]

#WP categories                
RewriteRule ^blog/category/([A-Za-z0-9-]+)/?$ wp/$1 [QSA,L]

#WP tags
RewriteRule ^blog/tag/([A-Za-z0-9-]+)/?$ wp/$1 [QSA,L]

#WP authors
#Insert authors redirect

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ php/$1.php [QSA,L]
</IfModule>

訪問我的博客頁面時,我還遇到404錯誤-這是由於包含wp-blog-header.php文件引起的,解決方案是在我的blog.php中插入以下代碼並刪除 include('wp/wp-blog-header.php)

<?php
   require('./wp-config.php');
   $wp->init();
   $wp->parse_request();
   $wp->query_posts();
   $wp->register_globals();
?>

首先,#2不是規則,它是執行以下規則的條件(#3)。

為了解決您的問題,有多種解決方案,例如,您可以添加一個條件以不重定向任何以wp /開頭的內容:

RewriteEngine On

RewriteRule ^$ php/home.php [QSA,L]                                        

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/?wp/
RewriteRule ^(.*)$ php/$1.php [QSA,L]

暫無
暫無

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

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