0

htaccessでルールを作成して、ページの名前を変更したいと思います。次に例を示します。

domain.com/page1が実際にページdomain.com/content?p=page1を開くか、domain.com/page2が実際にページdomain.com/content?p=page2を開くようにします。

このため、私は非常に単純な正規表現を持っています:

RewriteRule (.*)$ /content.php?p=$ [L]

現在の問題は、これがstyles.cssやfunctions.jsなどのファイル、さらにはimages/logo.jpgのようなすべてのものに影響を与えることです。

したがって、私が探しているのは、ドット(。)またはスラッシュ(/)がない場合にすべてのページを転送する正規表現です。

例えば:

domain.com/blog  true
domain.com/home?lang=en true
domain.com/styles.css false
domain.com/image.png false
domain.com/folder/file false

ありがとう!

4

2 に答える 2

0

これは、.htaccessファイルに入れる必要のあるコードです。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/.]+)/?$ content.php?p=$1 [L,QSA]
于 2012-05-02T18:43:55.067 に答える
0

以下のコードを参照してください。

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteRule ^(.*)$ content.php?p=$1 [L,QSA]
</IfModule>

要求された URL がディレクトリでもファイルでもない場合は、次の行で実行されます。

乾杯!

于 2012-05-02T18:35:59.057 に答える