gpt4 book ai didi

php - MOD_REWRITE 帮助!

转载 作者:行者123 更新时间:2023-11-29 07:13:52 25 4
gpt4 key购买 nike

我想使用模式重写来显示以下内容:mydomain.com/Florida/Tampa/而不是 mydomain.com/place.php?state=Florida&city=Tampa

我已经这样做了:(因为我认为这可能会有所作为!)mydomain.com/[name].html 而不是 mydomain.com/profile?user=[name]

这是代码!

Options +FollowSymLinks  
Options +Indexes
RewriteEngine On

RewriteBase /
RewriteCond %{SCRIPT_FILENAME}! !-f
RewriteCond %{SCRIPT_FILENAME}! !-d
RewriteRule (.*).html profile.php?user=$1 [QSA.L]

最佳答案

您应该使您的模式尽可能具体。所以试试这些规则:

# stop rewriting process if request can be mapped to file or directory
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

# get user pages
RewriteRule ^([^/]+)\.html$ profile.php?user=$1 [L,QSA]

# get paces
RewriteRule ^([^/]+)/([^/]+)/$ place.php?state=$1&city=$2 [L,QSA]

这里我使用[^/]+(除/之外的一个或多个任意字符)。但是如果你只想允许特定的字符,你应该在你的模式中反射(reflect)出来(例如 webdestroya 的提议)。

并且您还应该确保使用明确的 URI。在考虑规则之前,您应该开发一个精心设计的 URI 结构。你知道的,Cool URIs don’t change .

关于php - MOD_REWRITE 帮助!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2790463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com