相关疑难解决方法(0)

阿帕奇mod_rewrite VS. PHP路由?

有些日子我现在一直在尝试制作一个简单的mod_rewrite规则来创建友好的URL,我的web主机已经启用了mod_rewrite,但我无法让它工作.

我发布的所有下一个问题:

  1. .htacces创建友好的URL
  2. 带有.htaccess的友好网址
  3. .htacces不工作......

没有一个答案有效,所以我现在考虑使用简单的PHP路由,我想知道两者之间是否有很大的性能或SEO差异.如果有,也许你知道如何修复我的问题中发布的mod_rewrite问题.

谢谢.

php apache mod-rewrite url-rewriting url-routing

6
推荐指数
1
解决办法
1997
查看次数

友情URL的PHP​​路由帮助

我正在构建一个通过index.php运行所有代码的网站.

例如index.php?controller=something&id=01234.

我想用PHP来创建友好的URL,所以我这样做:

$request = str_replace('/root/', '', $_SERVER['REQUEST_URI']);
$params = explode('/', $request);

$controllers = array('first_c', 'second_c', 'third_c');

if (in_array($params[0], $controllers)) {
   include($params[0]); // just to give an example
}
Run Code Online (Sandbox Code Playgroud)

然后使用mod_rewrite规则,RewriteRule ^.*$ ./index.php我将所有内容重定向到index.php.

我有一些问题:因为一切都发送到index.php,包括.css,.js和图像文件.所以除了php生成的HTML之外没有什么工作正常.我遇到了很大的麻烦,因为我尝试了mod_rewrite的所有东西(而不是PHP)我无法让它工作......请参阅:Apaches mod_rewrite VS. PHP路由?

谢谢.

php mod-rewrite url-rewriting url-routing

5
推荐指数
1
解决办法
1592
查看次数

如何将字符串转换为slug?

赏金注意:我已经使用add_rewrite_rules找到了我的问题解决方案.我将奖励那些能够以apache RewriteRules格式为我提供相同解决方案的人.

我已经阅读了如何使用.htaccess创建友好的URL?但它仍然很困难,也很复杂.

我正在运行WordPress Multisite,我有一个子域名网站cp.example.com,我正在这个子域名上编写一个php应用程序.

我有一个网址如下:

http://cp.example.com/sales.php?id=12345&userid=123456&uid=83hkuhdqhuhd873xsuhdqwiuhdiq
Run Code Online (Sandbox Code Playgroud)

我可以通过以下方式让用户访问网站:

http://cp.example.com/sales/12345/userid/123456/83hkuhdqhuhd873xsuhdqwiuhdiq
Run Code Online (Sandbox Code Playgroud)

如果我这样做,php仍然能够对$_GET值进行操作吗?

例如$_GET['id'],$_GET['userid']$_GET['uid']

我正在使用WordPress作为我的基础,但我正在编写应用程序端,使用不同的表.

我试图避免使用自定义帖子类型只是为了实现上述目的.

我尝试了以下内容.

  1. 在view_sales.php中创建一个模板文件view_sales.php我将要求$_GET['id'],$_GET['userid']$_GET['uid']从mysql中检索信息.

  2. view_sales.php我也使用了不同的头文件并且有get_header('sales');

  3. 在header-sales.php中,我添加了以下来自上面的堆栈溢出页面的代码.

    $path_components = explode('/', $_GET['url']);
    $id=$path_components[0];
    $userid=$path_components[1];
    $uid=$path_components[2];
    
    Run Code Online (Sandbox Code Playgroud)
  4. 我创建了一个带有slug销售的新wp页面,所以现在该网站是 http://cp.example.com/sales/?id=123456&userid=123456&token=98917397219372iheu1i

  5. .htacess在我的/public_html/example.com域中只有一个网站,因为它是一个多站点,所以我将上面建议的代码添加到我的.htaccess现在它看起来像这样.

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    
    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule …
    Run Code Online (Sandbox Code Playgroud)

php security wordpress .htaccess mod-rewrite

5
推荐指数
1
解决办法
399
查看次数

使用htaccess在URL中获取两个变量

通过htaccess在URL中获取两个GET方法的方法是什么?

RewriteRule ^adm/(.*)$ adm.php?mode=$1
Run Code Online (Sandbox Code Playgroud)

我已将其用于示例网址:

http://www.domain.com/adm/thismode
Run Code Online (Sandbox Code Playgroud)

现在我想得到两个方法,如:

http://www.domain.com/adm/thismode/othermode
Run Code Online (Sandbox Code Playgroud)

我试过这个:

RewriteRule ^adm/(.*)$/(.*)$ adm.php?mode=$1&othermode=$2
Run Code Online (Sandbox Code Playgroud)

但似乎没有用......我怎么做到这一点?

编辑:

$ mode1 = $ _GET ['mode'];

$ mode2 = $ _GET ['othermode'];

像这样...

再次编辑:

http://www.domain.com/adm/generated/pass/6z9c4q9k8p
Run Code Online (Sandbox Code Playgroud)

对......这是它必须做的URL

在PHP中它有这个:

if($mode == "generated")
Run Code Online (Sandbox Code Playgroud)

我希望PHP查看是否在URL中设置了模式,生成的密码是另一个GET

我把htaccess这样放了:

RewriteRule ^adm/(.*)/(.*)$ adm.php?mode=$1&generated=$2
Run Code Online (Sandbox Code Playgroud)

PHP还将获取URL中生成的密码并将其显示在页面上.

php methods .htaccess get

4
推荐指数
2
解决办法
2万
查看次数

如何创建一个包含单个文件的目录?

我将签约企业在我的网站上做广告,我希望他们有一个直接的URL供他们的客户去.

喜欢,而不是www.website.com/page.php?id=324234234,

我希望有 www.website.com/businessname

有一个简单的方法吗?我搜索并看到了人们试图做的一大堆不同的事情,但我没有看到任何与我想做的事情相同的事情.

我正在使用VPS,我想确保我没有打开权限,这样任何人都可以进入并搞砸了.

此外,这些用户不会自己注册.我会这样做的.

获得我最终结果的最简单方法是我正在寻找的.谢谢!

php url url-rewriting

1
推荐指数
1
解决办法
58
查看次数