1

.htaccessを使用して特定のページのみのURLを書き換えるにはどうすればよいですか?

たとえば、index.phpで機能させたいが、サイトの残りのページやindex.php以外のすべてのページでは機能させたくない。

サブドメインとphpスクリプトで問題が発生し、使用しているURLリダイレクトによって問題が発生します。以下は、私が使用したい種類のスクリプトの例です。

Options +FollowSymLinks -MultiViews

# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

## If the request is for a valid directory
RewriteCond %{REQUEST_FILENAME} -d [OR]
## If the request is for a valid file
RewriteCond %{REQUEST_FILENAME} -f [OR]
## If the request is for a valid link
RewriteCond %{REQUEST_FILENAME} -l
## don't do anything
RewriteRule ^ - [L]

RewriteRule ^([^/]+)/([^/]+)/?$ index.php/?node=$1&id=$2 [L,QSA]

RewriteRule ^([^/]+)/?$ index.php/?node=$1 [L,QSA]

誰かが私を正しい方向に向けることができますか?

4

2 に答える 2

3

URL を REQUEST_URI サーバー変数として渡すことができます。

RewriteCond %{REQUEST_URI} ^(your_url)$
RewriteRule %1 do_some_stuff

例として:

RewriteCond %{REQUEST_URI} ^index.php$
RewriteRule %1 - [F]

または、それを渡すだけですRewriteRule

RewriteRule ^index.php$ do_some_stuff
于 2012-12-27T15:18:34.240 に答える
2

多くの情報と例については、http:RewriteCond //www.addedbytes.com/articles/for-beginners/url-rewriting-for-beginners/ をチェックしてください。

index.php だけのルールを作成し、最後のルールとしてフラグを立てることもできます。[l]

RewriteRule ^/index.php(.*)   /index.php$1  [L]
RedirectRule ^/(.*)$   /index.php?path=$1  [L]
于 2012-12-27T15:18:39.747 に答える