1

私は.htaccessで4つのことをしようとしています

最初に、すべてのファイルからphp拡張子を削除します

それで

www.mywebsite.com/home is written www.mywebsite.com/home.php

エラーページに変更したいので、www.mywebsite.com/adakadabra にリクエストがあり、adakabra.php のようなページがある場合、代わりにカスタム 404.php が使用されます。

第三に、ユーザーが次のようなプロファイル リンクを持つことができるように、無駄な URL が必要です。

www.mywebsite.com/Joe 

profile.php があり、get リクエストを使用してユーザー名を取得するので、書き換えは www.mywebsite.com/joe から www.mywebsite.com/profile.php?username=joe になります。

最後だが大事なことは

www.mywebsite.com/p/123453 のようなページが必要です

www.mywebsite.com/p.php?photo=123453 に書き換える

Web サーバーに p.php ページがあります。

4

1 に答える 1

0

これは、/.htaccess に 3 セットのルールを使用して行うことができます。

ErrorDocument 404 /404.php

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^p/([0-9]+)$ /p.php?photo=$1 [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(Joe|Mao|Napoleon|Gandi)$ /profile.php?username=$1 [QSA,L,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)$ /$1.php [QSA,L]

ここでそれがどのように機能するか:

  1. www.mywebsite.com/p/123453 => /p.php?photo=123453
  2. www.mywebsite.com/Joe => /profile.php?username=ジョー
  3. www.mywebsite.com/home => /home.php、www.mywebsite.com/houra/foo/bar/home => /houra/foo/bar/home.php
于 2013-11-08T09:13:54.600 に答える