php - 修改 RewriteRule

标签 php .htaccess

以下 RewriteRule 可以正常工作

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301] 

直到我把这个放在正下方

RewriteRule ^([a-z0-9]+)/$ /profile/company-profile.php?cname=$1 [NC,L]

现在每个domain.com/something-here都会转到company-profile.php

我该如何解决这个问题?

首先,domain.com/login会将您带到登录文件夹的index.php
当我输入第二个 RewriteRule 时,如果我再次写入 domain.com/login ,它会(在后台)显示 company-profile.php?cname=login

最佳答案

我建议使用这个:

RewriteEngine On
RewriteBase /

# redirect company specific request
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9\-_]+)/?$ profile/company-profile.php?cname=$1 [NC,L]

# redirect all others
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !/?$
RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301] 

关于php - 修改 RewriteRule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8206909/

相关文章:

php - 将所有 null mysql 值显示为 N/A

此服务器上的 Wordpress 403/404 错误 : You don't have permission to access/wp-admin/themes. php

apache - 使用 Htaccess 的单域多框架?

javascript - 使用 php session 时出错

php - 操作数组中的数据

wordpress - 如何使用 .htaccess 在除一个目录/图像之外的所有 URL 上强制使用 HTTPS?

php - .htaccess 替换(重写)PHP URL 中的 $_GET 变量

apache - apache 中的重定向

javascript - 是否可以使用blade 将参数传递给tinymce.init 函数?

PHP 和 Mysql 查询 JSON 输出