2017-09-03 29 views
0

私のコントロール外の理由から、私はIIS 10内でWordPressのサブディレクトリとして実行されるLaravelインスタンスを取得する必要があります。私はweb.config <system.webServer><rewrite><rules />設定内のすべての考えられるオプションを試しました。しかし、私はこれまでに1つまたは他のものを動作させることしかできません。書き換えルールをWordPressに残しておくと、Laravelは機能しません(WordPressは404で応答します)。また、WordPressルールを無効にすると、Laravelは動作しますが、明らかにWordPressは動作しません。ここでIIS上のWordpressのサブディレクトリとしてLaravelを設定する

は(ワードプレスが座っている)サイトのルートに設定され:SO検索へ

<rewrite> 
    <rules>   
     <rule name="WordPress" patternSyntax="Wildcard"> 
      <match url="*" /> 
      <conditions> 
       <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
       <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 

       <!-- Laravel App --> 
       <add input="{REQUEST_URI}" pattern="^/laravel" negate="true" /> 
      </conditions> 
      <action type="Rewrite" url="index.php" /> 
     </rule> 
    </rules> 
</rewrite> 

おかげで、私は私が内部にネストされたweb.configファイルを入れて持っていた(IIS Url Rewrite not working with nested WP installs)この出くわしました以下でLaravelアプリ用のサブフォルダ:

これらそれ ほとんど作品との奇妙な
<rewrite> 
     <rules> 
      <clear /> 
       <rule name="Imported Rule 2" stopProcessing="true"> 
        <match url="/(.*)$" ignoreCase="false" /> 
        <conditions logicalGrouping="MatchAll"> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> 
        </conditions> 
        <action type="Rewrite" url="public/index.php/{R:1}" /> 
       </rule> 
     </rules> 
    </rewrite> 

、 - 限り、私はsite.com/laravel/publicに行くと、すべての関連するビューの作業、すべての再生きれいにtオーガー。私はちょうどURLの/公衆を得るように見えることはできませんが、明らかに使用できません。

ヒント?私はそれが近いと確信していますが、私はそれを理解できません。

答えて

0

これが完成しました。私はまだLaravelの新人ですので、これは早くも私には起こりませんでしたが、私はいくつかの問題がありました。マイルートweb.configファイルは、しかし、必要なネストされたweb.configがそうのように、その上にmatch url="*"を持って、正しくセットアップした:

<rewrite> 
     <rules> 
      <clear /> 
       <rule name="Imported Rule 2" stopProcessing="true" patternSyntax="Wildcard"> 
        <match url="*" ignoreCase="false" /> 
        <conditions logicalGrouping="MatchAll"> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> 
        </conditions> 
        <action type="Rewrite" url="public/index.php/{R:1}" /> 
       </rule> 
     </rules> 

それが終わった後は、彼らはしかし、URLに/publicを含めずに、両方働いていた、私がいました404エラーが発生する - Laravelの404は、具体的には動作しているだけで、私が要求していることは分からない。全体の推測として、私は私のルートを見て、それらの前にサブディレクトリを追加し、突然彼らはすべて動作します!例:

Route::get('/laravel/entities', '[email protected]'); 

私は特にすべてのルートにルートを追加する必要はありません。しかし、私たちは非常にユニークな状況なので、お互いにうまく対戦できるという事実は印象的です。

関連する問題