0

私はhtaccessできれいなURLを作ろうとしています..からURLを作りたいwww.mysite.com/movie/name.htmlですwww.mysite.com/movie/movie.php?url=name

ここで movie/ はフォルダーです。同様に、 albums/ と news/ のようなフォルダーがさらに 2 つあり、以下のような URL を作成したいと考えています。

  • www.mysite.com/albums/name.html from ww.mysite.com/albums/album.php?id=name

  • www.mysite.com/news/name.html from ww.mysite.com/news/album.php?id=name

.htaccessは以下です

<IfModule mod_rewrite.c>
# removing .php extension 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php
#Code to rewrite www.mysite.com/movie/name to www.mysite.com/movie/movie.php?url=name
RewriteEngine On
RewriteRule ^(.+)/([a-zA-Z0-9_-]+)$ movie.php?url=$1
</IfModule>

しかし、私はすべてのページをリダイレクトしています

適切なコードを提案してください。

4

2 に答える 2

1

PHP ファイルをリダイレクトするには、次のコマンドを使用します。

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

次に、特定のページの場合:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/])/([0-9]+)/([^/])\.html$ /$1.php?url=$2 [L,QSA]

ここでドキュメント を確認できます

于 2013-04-15T05:54:00.313 に答える
1

これを試して

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^ - [S=3,L]

#www.mysite.com/movie/movie.php?url=name

RewriteRule ^movie/([^/]+)\.html?(.*)$ movie/movie.php?url=$1$2 [QSA,S=2,L]

#www.mysite.com/news/album.php?id=name

RewriteRule ^news/([^/]+)\.html?(.*)$ news/album.php?id=$1$2 [QSA,S=1,L]

#www.mysite.com/albums/album.php?id=name

RewriteRule ^([^/]+)/([^/]+)\.html?(.*)$ $1/$2.php?id=$2$3 [QSA,L]
于 2013-04-15T05:54:41.027 に答える