これらの URL を書き換える mod-rewrite に問題があります。
mywebsite.com/index.php?page=folder/file
mywebsite.com/index.php?page=folder/file&id=10
これらに
mywebsite.com/file
mywebsite.com/file/10
どうやってやるの?
これらの URL を書き換える mod-rewrite に問題があります。
mywebsite.com/index.php?page=folder/file
mywebsite.com/index.php?page=folder/file&id=10
これらに
mywebsite.com/file
mywebsite.com/file/10
どうやってやるの?
これに似たものが欲しい
#With mod_rewrite
RewriteEngine on
RewriteRule ^/file/(.+) /index.php?page=folder/file&id=$1 [R,L]
RewriteRule ^/file /index.php?page=folder/file [R,L]
mywebsite.com/index.php?page=folder/file
mywebsite.com/index.php?page=folder/file&id=10
これらに
mywebsite.com/file
mywebsite.com/file/10
フォルダーが固定文字列なのか、ファイルがあるディレクトリなのかは明確ではないため、この回答では、両方の場合のディレクトリがルートであるため、固定文字列であると想定されています。
ルート ディレクトリにある .htaccess ファイルでこれを試すことができます。
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteRule ^([^/]+)/?$ /index.php?page=folder/$1 [L,NC]
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteRule ^([^/]+)/([^/]+)/? /index.php?page=folder/$1&id=$2 [L,NC]
サイレント マップ:
http://mywebsite.com/file
に
http://mywebsite.com/index.php?page=folder/file
と
http://mywebsite.com/file/10
に
http://mywebsite.com/index.php?page=folder/file&id=10
ここで、strings fileと10は動的であると想定されます。
永続的なリダイレクトの場合、[L,NC] を [R=301,L,NC] に置き換えます。
書き換えて、リダイレクトmywebsite.com/$var
したくないということですか?これを確認できます:mywebsite.com/index.php?page=folder/$var
mywebsite.com/$var1/$var2
mywebsite.com/index.php?page=folder/$var1&id=$var2
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-z0-9-_]+)$ /index.php?page=folder/$1
RewriteRule ^([a-z0-9-_]+)/([a-z0-9-_]+)$ /index.php?page=folder/$1&id=$2