一位客戶問我用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-podcast
爲http://example.com/podcast/example-podcast
,但每當我這樣做,我得到了404。
讓WordPress做這項工作。登錄到管理頁面。選擇設置,然後永久鏈接。選擇您想使用或創建您自己的選項。 – jeff
@jeff我不認爲我正確地解釋了自己。我已經爲這個問題添加了一些額外的信息。該slu is不是實際網站的一部分。我使用它來引用外部資源。 –
你的WordPress設置是什麼樣的?是管理目錄在一個子目錄,但在主目錄中的網站(所以網站將在/,但所有的WP文件都在,例如,/ WordPress的)?還是一切都在同一個文件夾? – Aurelin