2017-09-26 18 views
0

クライアントがWordPressでサイトを構築するよう依頼しました。私はWordPressにうまくいきませんので、解決策はすでにここにあるかもしれませんが、十五件の質問について読んだことがあります。答えを見つけていないので、私は自分自身を投稿すると思っていました。.htaccess WordpressでRewriteRuleが動作しない

これは私の.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(); ?>  

ウルフCMSを使用するときに私の.htaccessファイルがなく、ワードプレスと、うまく働きました。私はまだWordPressを学んでいるので、どんな助けも大歓迎です。

EDIT

私はRSSフィードからポッドキャストを参照するためにスラグを使用しています。 http://example.com/podcast/?slug=example-podcasthttp://example.com/podcast/example-podcastに変えたいと思っていますが、それを行うたびに404が得られます。

+0

Wordpressに作業をさせてください。管理ページにログインします。設定とパーマリンクを選択します。あなたが使用したい、またはあなた自身を作成するオプションを選択します。 – jeff

+0

@jeff私は自分自身を適切に説明したとは思わない。私は質問にいくつかの追加情報を追加しました。スラグは実際のサイトの一部ではありません。私はそれを使って外部リソースを参照しています。 –

+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ファイルを元に戻しません。 – Frances

0

例:私は名前のフォルダの中に私のワードプレスを持っていた場合は「」サブディレクトリとして、私はこの

# 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

また、あなたがポスト名にパーマリンクを設定することができますように私の.htaccessを編集します。これは、URLがphpタイプのURLの代わりに投稿名によって定義されている場合に修正されます。

関連する問題