我想用的.htaccess我有这个URL重写它:
../index.php?page=details&id=123456
像这样:
../detail/123456
但我真的不知道如何做到这一点。 你能不能帮我改写这个网址? 或者给我一个简单的例子,我可以理解它是如何工作的
我想用的.htaccess我有这个URL重写它:
../index.php?page=details&id=123456
像这样:
../detail/123456
但我真的不知道如何做到这一点。 你能不能帮我改写这个网址? 或者给我一个简单的例子,我可以理解它是如何工作的
这应该工作:
RewriteEngine On
RewriteRule ^detail/([^/]*)$ /index.php?page=details&id=$1 [L]
RewriteRule ^(.*)/([0-9]+)$ index.php?page=$1&id=$2&%{QUERY_STRING}
第一个(。*)选择任何字符串,如“详细信息”。 ([0-9] +)捕获一个号码,你的情况 “123456”
最后
&%{QUERY_STRING}
确保,那其他参数添加到您的backendscript了。
下面是我用我的网页时,它的子目录中的一个例子。
# "learn/degree/index.php?d=mathematics" shows as "learn/degree/mathematics"
RewriteRule ^learn/degree/([a-zA-Z_-]+)$ learn/degree/index.php?d=$1
为了完成它,记得在这个页面的开头这样写:
RewriteBase /
RewriteEngine On
这里的“全”的.htaccess我在页面中使用给你一些想法。
#Redirect any www. to the page without it. Helps to keep user logged.
RewriteBase /
RewriteEngine On
rewriteCond %{HTTP_HOST} ^www.newfutureuniversity.org [NC]
rewriteRule ^(.*)$ http://newfutureuniversity.org/$1 [R=301,L]
Options +Indexes
Options +FollowSymlinks
# Finally working. Rewrite the user so "/student/Username" will internally be "/student/?user=Username"
RewriteRule ^student/([a-zA-Z0-9_-]+)$ student/index.php?user=$1
# Rewrite the disciplines so "learn/degree/1" will internally be "learn/degree/index.php?dis=1"
RewriteRule ^learn/degree/([1-4])$ learn/degree/index.php?dis=$1
# Rewrite the degrees so "learn/degree/mathematics" will internally be "learn/degree/index.php?d=mathematics"
RewriteRule ^learn/degree/([a-zA-Z_-]+)$ learn/degree/index.php?d=$1
# Rewrite the degrees so "learn/subject/2/5/7" will internally be "learn/subject/index.php?class=2&div=5§ion=7"
RewriteRule ^learn/subject/([0-9])$ learn/subject/index.php?class=$1
RewriteRule ^learn/subject/([0-9])/([0-9])$ learn/subject/index.php?class=$1&div=$2
RewriteRule ^learn/subject/([0-9])/([0-9])/([0-9])$ learn/subject/index.php?class=$1&div=$2§ion=$3
你必须使链接到../detail/123456
,那么脚本内部interpretes它../index.php?page=details&id=123456
。 如果你不希望这样做,那么你正在寻找一个重定向。
试试这个
<IfModule mod_rewrite.c>
RewriteEngine on
Options +FollowSymlinks
# RewriteBase / add this if necessery, commented intentionally
RewriteRule ^detail/([0-9]+)$ index.php?page=details&id=$2
</IfModule>