1

http://mydomain.com/の後のすべての単語 (ルート フォルダーを除く)が /index.php?permalink=$1 にリダイレクトされるように、短い URL ルールを作成することは可能ですか?

例:

http://mydomain.com/ - index.php (標準) に移動します。 http://mydomain.com/word - index.php?permalink=word に移動

私の .htaccess は現在次のようになっています。

Options +FollowSymLinks

RewriteEngine On
RewriteBase /

RewriteRule /page/([0-9]+) /?page=$1
4

1 に答える 1

2

これを試して:

  RewriteRule ^.*/(\w+)\b$ /index.php?permalink=$1

^行頭の位置をアサートします。
.*/最後の/.
(\w+)文字、数字、アンダースコア、少なくとも 1 つの文字を照合し、グループ番号 1 としてキャプチャします
\b。単語境界で位置をアサートします。
$行末の位置をアサートします。

したがって:

http://mydomain.com/word1 なる /index.php?permalink=word1
http://mydomain.com/publish_files/word2 _ /index.php?permalink=word2

コメントに関するリクエストについては、これを試してください。ただし、まだテストしていません。

  RewriteCond %{HTTP_REFERER} !^(http://)?{HTTP_HOST}/[^/]+/.*$ [NC]
  RewriteRule ^.*$ /index.php
  RewriteCond %{HTTP_REFERER} !^(http://)?{HTTP_HOST}/\w+$ [NC]
  RewriteRule ^.*/(\w+)$ /index.php?permalink=$1
于 2010-10-15T12:10:57.497 に答える