2017-09-26 58 views
0

一位客戶問我用WordPress構建一個網站。我對WordPress並不擅長,所以解決方案可能已經在這裏,但我已經閱讀了十幾個SO問題,但還沒有找到答案,所以我想我會發布自己的問題。.htaccess RewriteRule不能在Wordpress上工作

這是我的.htaccess文件:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteRule ^podcast/([^/]+)$ /podcast?slug=$1 [QSA,L] #I added this 

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

隨着我的文件這樣的,它重定向我到我的404頁。即使URL是正確的(/podcast/word),瀏覽器控制檯也會顯示它是404.

然後我假設我添加了「R = 301」標誌,它將解決該問題。但是,如果我這樣做:

RewriteRule ^podcast/([^/]+)$ /podcast?slug=$1 [R=301,QSA,L] 

然後我的瀏覽器只是需要我/podcast?slug=word

我不確定這是由我的.htaccess引起的還是由WordPress 404文件引起的。在關閉的機會任何人希望看到它,我的404.php文件是:

<?php get_header(); ?> 

<section class="white"> 
    <div class="wrapper internal"> 
     <!--generic error message--> 
    </div> 
</section> 

<?php get_footer(); ?>  

我的.htaccess文件工作正常使用CMS狼的時候,而不是與WordPress。因爲我還在學習WordPress,所以非常感謝任何幫助。

EDIT

我使用的蛞蝓到從RSS引用播客。我正在尋求http://example.com/podcast/?slug=example-podcasthttp://example.com/podcast/example-podcast,但每當我這樣做,我得到了404。

+0

讓WordPress做這項工作。登錄到管理頁面。選擇設置,然後永久鏈接。選擇您想使用或創建您自己的選項。 – jeff

+0

@jeff我不認爲我正確地解釋了自己。我已經爲這個問題添加了一些額外的信息。該slu is不是實際網站的一部分。我使用它來引用外部資源。 –

+0

你的WordPress設置是什麼樣的?是管理目錄在一個子目錄,但在主目錄中的網站(所以網站將在/,但所有的WP文件都在,例如,/ WordPress的)?還是一切都在同一個文件夾? – Aurelin

回答

0

嘗試用此代碼替換您的.htaccess。

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

# END WordPress 
+0

這將如何幫助?這是默認的.htaccess文件。 –

+0

完全不會撤消這個默認的.htaccess文件,除非你的wordpress文件有不同的目錄。 – Frances

0

例子:如果我有一個命名的文件夾裏面我的wordpress「一」作爲子目錄,然後我將修改我的.htaccess這樣

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

# END WordPress 
+0

然後確保您也按照從@jeff到選擇設置的步驟,然後設置您的永久鏈接。我認爲這樣做。 – Frances

0

您也可以設定固定鏈接到文章名稱。如果您的網址是由帖子名稱而不是php類型的網址定義的,則會修復此問題。

相關問題