0

ルート フォルダーにファイルがあります。jobs.phpcontact.php

.php.htaccess を使用して拡張子を削除し、末尾のスラッシュを強制できるようにしたいと考えています/。そのため、それぞれのページに移動しますwww.domain.com/jobs/www.domain.com/contact/

jobs.domain.comまた、指摘したいのはwww.domain.com/jobs/

<IfModule mod_rewrite.c>
    Options +SymLinksIfOwnerMatch
    RewriteEngine On
    RewriteBase /

    RewriteRule ^(rosquillos)/$ $1 [L,R=301,NC]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^(.*)$ $1.php
</IfModule>

これは私がこれまでに得たものであり、私が試みる限りです。私はそれを機能させることができないようです。

どんな助けでも素晴らしいでしょう。

編集:

私の質問を言い換えたいと思います。既存のコードは.php拡張子を削除してくれます。今本当に必要なのは、サブドメインが正しいファイルを指すようにする追加のルールです。jobs.domain.comjobs.php を指します。末尾のスラッシュがなくても生きていける。

4

1 に答える 1

2

あなたの状態:

RewriteCond %{REQUEST_FILENAME}\.php -f

URL の末尾にスラッシュがあると、失敗します。しかし、あなたが持っているだけならjobscontactあなたはただ欲しいでしょう:

RewriteEngine On

# add trailing slash and redirect browser
RewriteRule ^([^/]+)$ /$1/ [L,R=301]

RewriteRule ^([^/]+)/$ /$1.php [L]

# redirect direct access to php files:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+)\.php
RewriteRule ^ /%1/ [L,R=301]

ああ、私は忘れていました:

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ [NC]
RewriteCond %{DOCUMENT_ROOT}/%1.php -f
RewriteRule ^ /%1.php [L]

*.domain.comが と同じドキュメント ルートを持っていると仮定しwww.domain.comます。

于 2013-09-11T03:25:36.247 に答える