0

私はsef URLにしたいパラメータを持つURLを持っています:

欲しいです:

http://map.tautktiv.com/street.php?address=abc

なる:

http://map.tautktiv.com/street/address/abc

また

http://map.tautktiv.com/address/abc

ルールを生成するためにいくつかのオンライン ツールを試しました.htaccessが、どれも URL に影響を与えませんでした。.htaccess

これらは私が試したルールです:

1.

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^address-([^-]*)$ /street.php?address=$1 [L]
RewriteRule street/address/(.*) street.php?address=$1

2.

Options +FollowSymLinks
RewriteEngine on

RewriteRule /address/(.*)\.php street.php?address=$1

3.

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# add whatever other special conditions you need here

RewriteRule ^/([0-9]+)-(.*)$ /street.php?address=$1 [L]
RewriteRule /(.*)/(.*)/$ street.php?address=$1

このサイトは、ファイルが共有ホスティング GoDaddy サーバーのサブディレクトリに存在するサブドメインであり、これらのルールをその.htaccess上のディレクトリに適用しようとしましたが、同じ結果です。

以下の提案に従ってこれも試しました

Options +FollowSymLinks
RewriteEngine on 

RewriteBase /

RewriteRule ^street/address/(.*)$ street.php?address=$1 [r=301,L]
RewriteRule ^address/(.*)$ street.php?address=$1 [r=301,L]
RewriteRule ^street/address/(.*)$ street.php?address=$1 [r=301,L]

同じ結果、何も起こりません。

メインドメインからページに直接移動しようとしましたが、同じ結果:

http://tautktiv.com/map/streets/street.php?address=abc
4

2 に答える 2

0

これを試してください:

RewriteEngine on 

RewriteRule ^street/address/(.*)$ street.php?address=$1 [r=301,L]
RewriteRule ^address/(.*)$ street.php?address=$1 [r=301,L]

あなたの例では、RewriteRule の 2 行目に見逃し^ていました。$

そして、ブラウザーに通知する[r=301,L]代わりに[L]、これが永続的なリダイレクトであることを使用します。

于 2013-08-09T10:06:03.073 に答える