1

ナットが機能しない間、私はこれを少し試してきました:

RewriteRule ^([^])/([^])\.php$ /$1.php [L,QSA]

私はサイトを持っています:www.mysite.com/dummyfolder/file.php

実際にロードしたい:

www.mysite.com/file.php

参考までに-ダミーフォルダは動的であるため、変化します。

より複雑な部分は、特定のフォルダーでこれを無視できるようにしたいことです。たとえば、www.mysite.com / acutalfolder/file.phpにアクセスできます。acutalfolderが存在し、その名前を変更しない場合。

どうもありがとう-それは本当に私を困惑させていて、それを理解することができません。

アンサリ、答えて解決してくれてありがとう。でも、実際のフォルダステートメントを修正する必要があります。

私の実際のフォルダはここにあります:

www.mysite.com/acutalfolder/file.php 

しかし、私は次のようなURLに表示したいと思います。

www.mysite.com/dummyfolder/acutalfolder/file.php 

これを使用する場合(actualfolderを使用している場合は無視しようとします):

RewriteRule ^([^/]+)(!^actualfolder$)/([^/]+)\.php$ /$2.php [L,QSA] 

実際のフォルダアドレスに移動しても正常に機能しますが、元の書き換えページは機能しなくなります。私がこれを間違って打っているアイデアはありますか?

アンサリの助けを借りて更新。これは、次のコードでうまく機能するようになりました。

RewriteCond %{REQUEST_URI} ^/([^/]+)/(actualfolder/.*\.php)$
RewriteCond %{DOCUMENT_ROOT}/%2 -f
RewriteRule .* %2 [L,QSA]


RewriteCond %{REQUEST_URI} ^/(?!actualfolder)([^/]+)/(.*\.php)$
RewriteCond %{DOCUMENT_ROOT}/%2 -f
RewriteRule .* %2 [L,QSA]

どうもありがとう...

4

2 に答える 2

2

これを試して:

RewriteRule ^([^/]+)/([^/]+)\.php$ /$2.php [L,QSA]

actualfolderが存在する場合は、actualfolder内の別の.htaccessファイルで何らかの書き換えを行わない限り、そのために何もする必要はありません。

OPが質問をやり直した後に編集します:

RewriteCond %{REQUEST_URI} ^/([^/]+)/(actualfolder/.*\.php)$
RewriteCond %{DOCUMENT_ROOT}/%2 -f
RewriteRule .* %2 [L,QSA]

RewriteCond %{REQUEST_URI} ^/([^/]+)/(.*\.php)$
RewriteCond %{DOCUMENT_ROOT}/%2 -f
RewriteRule .* %2 [L,QSA]
于 2012-05-24T20:59:30.323 に答える
0

アンサリの助けを借りて更新。これは、次のコードでうまく機能するようになりました。

RewriteCond %{REQUEST_URI} ^/([^/]+)/(actualfolder/.*\.php)$
RewriteCond %{DOCUMENT_ROOT}/%2 -f
RewriteRule .* %2 [L,QSA]


RewriteCond %{REQUEST_URI} ^/(?!actualfolder)([^/]+)/(.*\.php)$
RewriteCond %{DOCUMENT_ROOT}/%2 -f
RewriteRule .* %2 [L,QSA]

どうもありがとう...

于 2012-05-25T09:31:47.777 に答える