0

URL を SEO フレンドリーに変換する .htaccess ファイルを作成しました。

元の URL は次のとおりです。

http://palestinianz.com/?page=person&p=Alex-Atalla

.htaccess の内容は次のとおりです。

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /?page=person&p=$1 [L]

次のようなリンクが生成されます。

http://palestinianz.com/Alex-Atalla.html

しかし、ファイルを自分のウェブサイトのルートに置いても効果はありません! 問題はどこだ ?

4

2 に答える 2

0

アドレスバーの URL を変更したい場合は、ブラウザをリダイレクトしてから、サーバーで書き換える必要があります。この回答の最初の部分では、必要なプロセスについて説明しています: https://stackoverflow.com/a/11711948/851273

2 番目のリストを見ると、醜いリンクが見栄えの良いリンクへの要求である場合、プロセスはブラウザーをリダイレクトします。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?page=person&p=([^\ ]+)
RewriteRule ^$ /%1.html? [R=301,L]

ここで、サーバー側で、醜い URL に内部的に書き直す必要があります。これは多かれ少なかれ、すでに持っているものです。

RewriteRule ^([^/]*)\.html$ /?page=person&p=$1 [L]
于 2012-07-31T17:38:55.763 に答える
0

あなたが試すことができます:

RewriteCond %{REQUEST_URI} (.+)\.html$
RewriteRule ^(.+)\.html$ ./index.php?page=person&p=$1 [L]

これに関する唯一の問題は、どの.htmlページもこれを通過することです。次のように変更したい場合があります。

 # URL: domain.com/person/Alex-Atalla.html

 RewriteCond %{REQUEST_URI} (.+)/(.+)\.html$
 RewriteRule ^(.+)/(.+)\.html$ ./index.php?page=$1&p=$2 [L]

これにより、ページ変数を変更する際の堅牢性も向上します

于 2012-07-31T16:17:27.097 に答える