Php 使用.htaccess重写简单url
我有一个像这样的url-www.example.com/blog.php/username,它会把你带到用户名的博客页面,但是我想用一个像这样的url-www.example.com/blog/username来访问同一个文件(blog.php)。请问我需要采取什么步骤来实现这一目标?感谢您的帮助。在根目录中创建一个名为.htaccess的文件,并在以下位置通过该文件:Php 使用.htaccess重写简单url,php,.htaccess,mod-rewrite,Php,.htaccess,Mod Rewrite,我有一个像这样的url-www.example.com/blog.php/username,它会把你带到用户名的博客页面,但是我想用一个像这样的url-www.example.com/blog/username来访问同一个文件(blog.php)。请问我需要采取什么步骤来实现这一目标?感谢您的帮助。在根目录中创建一个名为.htaccess的文件,并在以下位置通过该文件: <IfModule mod_rewrite.c> RewriteEngine on Rewrite
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^blog/(.*)$ yourpage.php?username=$1 [L]
</IfModule>
重新启动发动机
重写规则^blog/(*)$yourpage.php?用户名=$1[L]
(*)将使用任何字符
如果只想使用字母和数字,请通过
([A-Za-z0-9])更改(.*)
,删除文件扩展名:
有两种方法可以做到这一点。简单的方法就是只看一眼
请求,如果请求的文件名不存在,则查找
扩展名为.php(或.asp或其他)的文件名。在一个
.htaccess文件:
现在,如果转到:服务器将解释为
如果你去的话
有道理,但如果我们已经打破了URL和
和文件名,我们不妨聪明地打破它。改变这个
.htaccess文件:
来源:Dave Dash->1您应该安装mod rewrite
2您应该确保您的文档根目录为“AllowOverride All”。在完成virtualhost配置后,您应该会发现以下内容:
<Directory "/your/doc/root/path/">
AllowOverride All
</Directory>
允许超越所有
3之后,您应该启动重写引擎,并按照David Bélanger的建议在.htaccess中创建重写规则:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^blog/(.*)$ blog.php/$1 [L]
</IfModule>
重新启动发动机
重写规则^blog/(*)$blog.php/$1[L]
启用mod_rewrite和.htacess。然后将此代码添加到文档根目录下的.htaccess中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
# If the request is not for a valid link
RewriteCond %{REQUEST_FILENAME} !-l
# finally this is your rewrite rule
RewriteRule ^blog/(.+)$ blog.php/$1 [L,NC]
你在使用什么框架?网站搜索有什么问题?可能是重复的
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^blog/(.*)$ blog.php/$1 [L]
</IfModule>
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
# If the request is not for a valid link
RewriteCond %{REQUEST_FILENAME} !-l
# finally this is your rewrite rule
RewriteRule ^blog/(.+)$ blog.php/$1 [L,NC]